[🎯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