私はNode.JSアプリケーションをElastic Bean Stalkで実行しています。私はElastic Load BalancerをセットアップしてSSLを設定しています。ソケットioがhttpsで動作しない;ポーリングに戻る
Node.JSにsocket.ioを実行しました。私はNginx設定のためにそれにアクセスするのに問題がありました。 .ebextensionsを使ってそれらを修正しました。
私のHTTP URLを使用してソケットioにアクセスすると、正常に動作し、WebSocketプロトコル自体を使用します。しかし、私はHTTPSを使用すると、ポーリングに戻ります。どうすればこの問題を解決できますか?
HTTPSで動作させるにはどうすればよいですか?
更新:{transports:['websocket']、upgrade:false}を追加した後、その送信のみWebsokcet要求。 certificates.HTTPS証明書はwww.myurl.ca .ANDのWebSocket呼び出しが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
それは助けました。その唯一のwebsocket呼び出しです。しかし、問題は残っています。それはWSSを試して失敗します。 'wss://www.myurl.ca/socket.io/?EIO = 3&transport = websocket'へのWebSocket接続に失敗しました:接続が確立される前にWebSocketが閉じられています。 – Jocket
次に、https資格情報またはhttps socket.ioサーバーコード、またはhttpsのAWS設定に問題があります。もっとコードや詳細を見ずに野生の推測をすることはできません。 – jfriend00