[Spring WebSocket] 배포 환경에서 웹소켓 커넥션이 실패하는 경우

Seong Min Je·2025년 5월 24일

채팅서버를 개발하는 중 로컬에서는 잘 연결되다가 원격 서버에 올린 뒤 프론트엔드에서 연결을 시도하면 아래와 같은 에러가 발생하였다.

서버 측 로그를 확인하니 아래와 같이 reason에 Go Away! 라는 문구가 있다.

2025-05-24T07:18:59.455Z DEBUG 1 --- [capstone2] [essageBroker-11] o.s.w.s.s.t.s.PollingSockJsSession : Closing SockJS session m0awrhdh with CloseStatus[code=3000, reason=Go away!]

확인 결과 Nginx에서 백엔드 서버로 Upgrade 요청을 전달하지 못해서 그렇다고 한다.

Nginx 설정을 아래와 같이 수정한다.

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_http_version 1.1;

위 3가지 내용을 추가해주면 정상적으로 웹소켓 연결 요청이 보내진다.

profile
컴퓨터소프트웨어공학과 학부생입니다

0개의 댓글