HTTP 421 오류를 만난 건에 대하여
1줄 요약
HTTP/1.1은 이제 쓰지 말자.
상세 정리
- 현상:
- CDN 서버에서 421(Misredirected Request) 오류 발생
- 최종 사용자 웹브라우저에서는 200 Ok 응답 수신, 하지만 실제 response된 파일은 비정상
- 원인: 같은 host name을 사용하는 CDN이 2개일 때, SNI가 http/1.1에서는 불안정하게 동작(request를 엉뚱한 호스트로 보냄)
- 조치: tcp 커넥션 재활용을 엄격하게 관리하는 http2 프로토콜만 사용하도록 설정
- tcp 커넥션을 엄격하게 관리한다는 뜻은?
- http/1.1은 request header의 host만 보고 SNI를 하기 때문에, tcp 커넥션을 재활용 할 경우 request를 host만 같고 엉뚱한 호스트로 보낼 수 있음.
- http2는 Host/port/TLS 인증서를 모두 확인하고 tcp 커넥션을 재사용한다
- tcp 커넥션을 엄격하게 관리한다는 뜻은?
물론 HTTP2에서도 421 오류는 발생할 수 있다. 그래도 http/1.1보다는 낫다.
EOD
20250903
Leave a comment