일단 이  방법은 사용자 측에서 사용할 수 있는 임시 해결책입니다.

파이어폭스에서 주소창에 about:config를 입력해 고급 설정 페이지에 접속한 후,


network.http.http2.coalesce-hostnames

항목을 false로 설정하면 문제가 해결됩니다.



아래부터는 문제의 원인에 대한 기술적인 내용입니다.

빠르게 확인해본거고 일개 사용자 입장에서 확인해본거라 서버 상황을 모르기 때문에 틀린 내용이 있을 수도 있습니다.


===


아카라이브는 2개의 이미지 서버(도메인 주소)가 존재하며, DNS Lookup으로 DNS 레코드 확인 시 도메인 주소 하나에 4개의 IP 주소를 참조하고 있는 것을 확인할 수 있습니다.



여기서 178.xxx로 시작하는 IP 주소 3개는 양쪽에서 모두 사용 중이지만 125.xxx으로 시작하는 주소의 경우 끝자리가 122, 126으로 서로 다른데요.

파이어폭스에서 접속 시 이미지가 깨지는 현상이 나타날 때 요청 URL을 확인해보면




DNS 레코드: ac-p2.namu.la => 125.xxx.xxx.122, ac2-p2.namu.la => 125.xxx.xxx.126

파이어폭스에서 접속 시: ac-p2.namu.la => 125.xxx.xxx.126, ac2-p2.namu.la => 125.xxx.xxx.122


DNS 레코드와 서로 반대되는 주소로 요청하는 현상이 발생합니다.


난해한 현상이라 구글링을 통해 찾아봤는데

HTTP/2에서 추가된 Connection Coalescing 기술이 원인이었습니다.


간략하게 설명하면 서로 다른 도메인 주소 A, B가 동일한 IP 주소를 참조하고 있을 경우, A에 연결된 상태에서 B에 연결하려고 할 때 B에 대한 새 연결을 생성하는 것이 아니라 기존 A의 연결을 재사용해 성능 개선을 목적으로 하는 기술이라고 하네요.


크롬의 경우 서로 동일한 IP 주소를 참조할 때 서로 중복되는 IP 주소에 한해서 이 기술을 사용하지만, 파이어폭스의 경우 최근 업데이트(6월 쯤?)로 뭔가 바뀐건지 양쪽의 DNS 레코드에 기록된 IP 주소 전체를 가져와 사용하는 것 같습니다. (이 부분은 제 추측입니다)


ac-p2 + ac2-p2

178.xxx.xxx.171

178.xxx.xxx.172
178.xxx.xxx.173

125.xxx.xxx.122

125.xxx.xxx.126


즉 이런 식으로 5개의 IP 주소를 무작위로 선정해 접속하는 건데, DNS 레코드와 일치하지 않게 접속을 시도하는 경우 (ac-p2 => 125...126, ac2-p2 => 125...122) 이미지 깨짐 현상이 발생했던 것입니다.


https://arca.live/b/hk3rd/52611690

위 글에서 설명한 OCSP 응답기 서버 쿼리 설정 변경을 통해 해결되었다는 케이스의 경우 해당 설정 변경 시 DNS 레코드 정보가 초기화되어 일시적으로 다른 IP 주소를 사용해 연결하기 때문에 해결된 것처럼 보였던 것 같습니다.


참고 자료

* HTTP2 Connection Coalescing: https://daniel.haxx.se/blog/2016/08/18/http2-connection-coalescing/