Springboot
Springboot nginx wegsacket ssl 연결 통신 후 [WebSocket Error]java.net.ProtocolException: Expected HTTP 101 response but was '400 ' 에러해결법
JunsC
2024. 10. 14. 13:34
728x90
springboot 에서 웹소켓으로 채팅을 하려고 했는데 자꾸 에러가 난다..
로컬에서는 잘 되었지만 실제 서버 업로드 후 릴리즈 모드로 테스트 해보았는데 웹소켓 nginx 리다이렉트 부분에서 문제가 생긴 듯 하다
그래서 구글링을 해보았다.
문제는 분명 nginx 에서 발생하는 것 같았다.. 왜냐하면 로컬에서는 잘 되었으니깐..!!
그래서 nginx 설정 관련해서 집중적으로 찾아보았다
location /bmt/chat {
proxy_pass http://localhost:8085/chat; # 실제 WebSocket 서버의 주소
proxy_http_version 1.1; proxy_set_header
Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; # 필요시 추가
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 필요시 추가
}
위와 같은 해결방법을 알아내었다
여기에서 위와 같이
Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
이 2개의 구문을 추가해주었더니 잘 통신이 됐다 !!!