일반 HTTP는 되는데 Nginx 뒤 WebSocket만 연결이 안 될 때
WebSocket은 일반 페이지 요청과 다른 프로토콜 전환을 사용합니다. Upgrade와 Connection 같은 hop-by-hop 헤더가 자동으로 원본에 그대로 전달된다고 가정하면 연결이 실패할 수 있습니다. 먼저 원본 직접 연결과 프록시 경유 연

- 프로토콜 전환 헤더는 명시적 전달이 필요합니다
- 버전에 맞는 프록시 설정을 확인합니다
- 연결 뒤 유휴 종료도 따로 봅니다
프로토콜 전환 헤더는 명시적 전달이 필요합니다
WebSocket은 일반 페이지 요청과 다른 프로토콜 전환을 사용합니다. Upgrade와 Connection 같은 hop-by-hop 헤더가 자동으로 원본에 그대로 전달된다고 가정하면 연결이 실패할 수 있습니다. 먼저 원본 직접 연결과 프록시 경유 연결을 나눠 봅니다.
버전에 맞는 프록시 설정을 확인합니다
WebSocket 경로에서 필요한 헤더와 원본 프로토콜 조건을 점검합니다. Nginx 버전에 따라 기본 HTTP 프록시 버전도 달라질 수 있으므로 오래된 예제를 무조건 최신 기본값처럼 설명하지 않습니다. 실제 응답에서 프로토콜 전환이 이뤄지는지 확인합니다.
연결 뒤 유휴 종료도 따로 봅니다
처음 연결 실패와 한동안 통신이 없어 끊기는 문제는 다릅니다. 읽기 타임아웃과 서버의 ping 방식을 함께 검토합니다. 시간을 무제한으로 늘리기보다 기대하는 연결 수명과 중단 감지를 정하고 재연결 시 사용자 작업이 중복되지 않는지도 살핍니다.
서버 운영 실행 전 점검표
- 프로토콜 전환 헤더는 명시적 전달이 필요합니다
- 버전에 맞는 프록시 설정을 확인합니다
- 연결 뒤 유휴 종료도 따로 봅니다
이 가이드의 근거 문서
출처 확인일: 2026-11-04. 공식 문서에 기반한 편집 가이드이며 직접 수행한 벤치마크가 아닙니다. 비용 사례는 명시된 가정에 한합니다.
오류 제보 방법