nginx の Web サイトで説明されているように、nginx でこれらの設定を使用して、websocket を NodeJS サーバーにプロキシしました。
location /socket.io/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
すべて正常に動作し、socket.emit() / socket.on() は互いにメッセージを送信します。かなり大きなテキスト メッセージ (26 kB の html) を送信するまで。
- この大きなメッセージは NodeJS によって受信されません (したがって、問題は nginx 側にあると思います)
- nginx ログにエラーはありません
- この大きなメッセージがクライアントから送信されると、NodeJS はこのクライアントからの socket.io のハートビートの受信を停止します。
私は何を間違っていますか?私が認識していないnginx設定はありますか?