私はかなり長い間 node.js と socket.io を使用しています。
奇妙な問題が発生しました。以前は、ノードとソケットサーバーを実行するために、ほとんどの場合、3000、4001、8888 などの長いポートを使用していました。私は何の問題にも直面しませんでした。
ただし、ポートを 80 に移動すると、次のエラーが発生します-
WebSocket ハンドシェイク中のエラー:「接続」ヘッダーの値が「アップグレード」ではありません
Chrome でページを実行しているときにのみ、このエラーが発生します。このアプリを Amazon AWS でホストしています。localhost では正常に動作しますが、本番環境ではポート 80 でエラーが発生します。
これは、dev および 80 以外のポートで動作するため、私のコードとは何の関係もないと思います。
また、ソケット通信が xhr-polling と json-polling に落ちることも確認しています。80 以外のポートでは、websocket は正常に動作します。
何が問題なのかわからない。他のブラウザでも同じエラーは発生しませんが、ソケット接続も発生しません。
nginx やその他のロード バランサーは使用していません。