클래식로드 밸런서 (Elastic Beanstalk) 뒤에 AWS로 호스팅되고 socket.io 서버까지 Nginx를 통해 내부적으로 프록시 처리되는 Laravel/Vue.JS 앱이 있습니다. Nginx에서 SSL이 종료되었습니다. 지금 모드가 제대로 작동 긴 폴링AWS EB : 웹 소켓 핸드 셰이크 중 오류 : 예기치 않은 응답 코드 : 400
location /socket.io {
proxy_pass http://127.0.0.1:6001;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
하지만 업그레이드를 시작하는 데 실패 :
이
은의 nginx의 설정입니다 WSS '에,451,515,웹 소켓 연결을 : // 예 ? .COM/socket.io/EIO = 3 & 전송 = 웹 소켓 & SID = HmDFtq-aj1WgfGUyAAAJ '실패 : 웹 소켓 핸드 셰이크 중에 오류 : 예기치 않은 응답 코드 : 400
P.S 크롬의 난 단지 이상한 메시지를 볼 수 있습니다 Frames
탭 : (Opcode -1)
사람이 성공적으로 socket.io AWS 탄성 콩 줄기 환경에서 작업을 가지고있다? 방금이 문제를 다루는 데 2 주일을 낭비했고, 어떤 제안이나 아이디어에 대해서도 매우 감사 할 것입니다. 감사!
업데이트. 나는 자세한 로깅을 설정하고 여기에 Nginx에 내 변수 :
$host example.com
$proxy_add_x_forwarded_for 134.xxx.xxx.xxx
$http_upgrade -
$remote_addr 172.31.10.208
$remote_user -
$server_name _
$upstream_addr 127.0.0.1:6001
$request GET /socket.io/?EIO=3&transport=polling&t=Lw26sYn&sid=6L5iHma-GJOeE3JQAAAX HTTP/1.1
$upstream_response_time 24.658 msec
$request_time 24.658
어쩌면 누군가가 내가 어떤 조언을 부탁드립니다 잘못이 값의 일부를 찾을 수 있습니다.
'proxy_set_header Host $ host;를 제거하고 –
@TarunLalwani를 테스트하면 작동하지 않습니다. –
'6001' 소켓 서버 로그에서 무엇을 볼 수 있습니까? –