개요Microsoft ASP.NET Blazor Server 애플리케이션을 NGINX 리버스 프록시 뒤에 배치한 환경에서 브라우저가 WebSocket 연결에 실패하고 Long Polling으로 폴백되는 문제를 추적하여 해결하였다.처음에는 단순한 Upgrade 헤더 전달 문제처럼 보였지만, 실제로는 아래와 같은 문제가 있었다.HTTP/1.1 연결에서 101 Switching Protocol 응답 코드를 받으면 프로토콜이 WebSocket으로 전환된다. 즉, HTTP/2.0 연결을 사용하면 안 된다.NGINX 1.25.1 버전 미만에서는 같은 포트에서 HTTP/2와 HTTP/0.9-1.1 연결을 공유할 수 없다. 어떠한 서버 블록에 http2 지시자가 있으면 같은 포트를 공유하는 모든 서버 블록에서 htt..