Node.js + Socket.IO でリアルタイムでやりとりができるアプリを開発しています。
教育現場のICTとして活用したいのですが、i-FilterというWebセキュリティーが導入されています。
i-Filterの外では、問題なく動きます。
しかし、i-Filter環境下では、接続が不安定です。調子のいいときもありますが、使い物にならないときもあります。
i-Filterは、websocketを遮断してしまうので、xhr-pollingで運用しているのですが、以下のようなエラーが出て、頻繁に接続が切断されます。
POST https://mydomain.com/socket.io/?EIO=4&transport=polling&… 400 (Bad Request) polling-xhr.js:198
Get https://mydomain.com/socket.io/?EIO=4&transport=polling&… 503 (Service Unavailable) polling-xhr.js:198
i-Filterは不必要なportを閉じてしまうので、http://mydomain.com:3000のような形では運用できないので、リバースプロキシーで運用しています。初めは、リバースプロキシーが原因だと思って、色々と試行錯誤をしたのですが、ダメでした。
ふと思いついて、apache の listen:80 を listen:801 に変えて、Node.jsをport 80で立ち上げてみました。
すると、i-Filter環境下でもhttp://mydomain.comでアクセスすることができました。
しかし、不安定であることに変わりがなかったので、リバースプロキシーが原因ではないことが分かりました。
膨大な試行錯誤で、疲れ果てています。
トラブルシューティングの方法やsocket.ioのパラメーターなど、アドバイスをお願いします。
あなたの回答
tips
プレビュー