Jaemoon's Tech Notes

[🎯ERROR] WebSocket Connection to failed:

by Jaemoon

문제 상황

웹소켓을 메인 서버에 적용 후 테스트를 진행하는데 다음과 같은 에러가 발생했습니다.

 

무한요청..

분명 테스트 서버에서는 정상적으로 작동했는데 메인 서버에 오자마자 떠버렸습니다..

일단 테스트 서버와 메인 서버 배포 상태가 달랐기 때문에 하나씩 맞춰봤습니다.

 

배포 상태

테스트 서버 : 프론트. 백을 로컬에서 실행, 로컬 nginx 사용

메인 서버 : 프론트, 백, nginx를 도커 컴포즈로 배포

 

현재 상황

nginx 설정으로 프론트는 443/ 백은 443/api 로 프록시 설정됨( websocket endpoint는 /ws)

 

시도해봤던 것들

 1. 시큐리티 설정 내 웹소켓 url 제외

백엔드 서버 내 시큐리티 설정(jwt 토큰 검증 로직) 중 웹소켓 url 제외

-> 결론적으로 403에러는 안뜨지만 여전히 failed

 2. 백엔드 서버가 /api로 매핑되어 있지만 따로 /ws로 재연결

/api/ws말고 /ws로 요청은 가지만 여전히 failed

 3. nginx 파일 내 proxy_pass url 변경

도커에서 서버로 요청을 보내기 때문에 localhost -> host.docker.internal로 변경했지만 여전히 failed

 

해결 방법

로컬에 따로 웹소켓 서버를 로컬에 실행 후 별도로 nginx 설정..

-> 여기서 nginx는 도커안에 있고 웹소켓 서버는 도커 밖에 있기 때문에 localhost가 아닌 도커에서 서버로 접속할 수 있는 ip를 부여해야합니다.

 

근본적인 문제는 해결되지 않았지만 프로젝트가 급해 임시방편으로 구현했습니다.

만약 문제가 식별된다면 다음 글로 포스팅 해보겠습니다...

 

* 저와 비슷한 상황에서 비슷한 오류를 해결하셨다면 댓글 부탁드릴게요.

 

감사합니다.

반응형

'TroubleShooting' 카테고리의 다른 글

[🎯ERROR] WebSocket Connection to failed: 해결  (0) 2025.02.16

블로그의 정보

Jaemoon

Jaemoon

활동하기