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개의 구문을 추가해주었더니 잘 통신이 됐다 !!!