1

私は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. 
+1

スティッキーロードバランシングがないと思います。クライアントが常にwebSocketで始まるように設定し、正常に動作するためにスティッキーロードバランシングを必要とするsocket.io初期HTTPポーリングを避けることができます。詳細については、[Socket.io 1.x:WebSocketsのみ](https://stackoverflow.com/questions/28238628/socket-io-1-x-use-websockets-only/28240802#28240802)を参照してください。 – jfriend00

+0

それは助けました。その唯一のwebsocket呼び出しです。しかし、問題は残っています。それはWSSを試して失敗します。 'wss://www.myurl.ca/socket.io/?EIO = 3&transport = websocket'へのWebSocket接続に失敗しました:接続が確立される前にWebSocketが閉じられています。 – Jocket

+1

次に、https資格情報またはhttps socket.ioサーバーコード、またはhttpsのAWS設定に問題があります。もっとコードや詳細を見ずに野生の推測をすることはできません。 – jfriend00

答えて

0

問題があったようにしかし、それでもまだ、私はエラーを取得します。それはちょうどwss://myurl.caでした。

些細な間違いでした。しかし、証明書をmyurl.caに変更すると問題が解決しました。

関連する問題