나는 Elastic Bean Stalk에서 Node.JS 응용 프로그램을 실행합니다. Elastic Load Balancer가 설정되었고 SSL이 설정되었습니다.소켓 io가 https와 작동하지 않음; 폴링으로 다시 전환
내 Node.JS에서 socket.io를 수행했습니다. 나는 Nginx 설정으로 인해 문제가 발생했습니다. .ebextensions를 사용하여 문제를 해결했습니다.
내 HTTP URL을 사용하여 소켓 io에 액세스하면 올바르게 작동하고 WebSocket 프로토콜 자체를 사용합니다. 하지만 HTTPS를 사용하면 폴링으로 다시 전환됩니다. 이 문제를 어떻게 해결할 수 있습니까?
HTTPS에서 제대로 작동하도록 구성해야합니까?
업데이트 : {transports : [ 'websocket'], 업그레이드 : false}를 추가 한 후 송신 전용 websokcet 요청을 보냈습니다. certificates.HTTPS 인증서가 www.myurl.ca .And 웹 소켓 호출이 www를했다 위해 설정된와
WebSocket connection to 'wss://myurl.ca/socket.io/?EIO=3&transport=websocket' failed: WebSocket is closed before the connection is established.
나는 스티키로드 밸런싱이 없다고 생각합니다. 클라이언트가 항상 webSocket으로 시작하고 제대로 작동하려면 고정로드 균형 조정이 필요한 socket.io 초기 HTTP 폴링을 피하도록 구성 할 수 있습니다. 자세한 내용은 [Socket.io 1.x : WebSockets 만 사용] (https://stackoverflow.com/questions/28238628/socket-io-1-x-use-websockets-only/28240802#28240802)을 참조하십시오. – jfriend00
그게 도움이되었습니다. 유일한 웹 소켓 호출입니다.하지만 문제는 여전히 존재합니다. 그것은 WSS를 시도하고 실패합니다. 'wss : //www.myurl.ca/socket.io/? EIO = 3 & transport = websocket'에 대한 WebSocket 연결에 실패했습니다. 연결이 설정되기 전에 WebSocket이 닫힙니다. – Jocket
그러면 https 자격 증명이나 https socket.io 서버 코드 또는 https에 대한 AWS 설정에 문제가 있습니다. 더 많은 코드와 세부 사항을 보지 않고도 과장된 추측을 할 수는 없습니다. – jfriend00