0

ポート 9090 で一般的なインターネット (つまり、ファイアウォールの内側ではない) によってアクセスされる webapp に websocket を追加しました。ファイアウォールがそのポートへのアクセスをブロックしているため、1 つのクライアントに問題があります。

クライアント側で追加の構成を必要としない、これに関する巧妙な解決策はありますか? ポート 443 はファイアウォールによって許可されることが多く、Skype の構成オプションであることを読みました。それはここのオプションですか?

私が思いついた解決策の 1 つは、ポート 80 で特定の要求を Websocket にプロキシするように Web サーバーを構成することです。ただし、websocket がポート 80 を共有できるかどうかはわかりません。これは、通常の web ページと ajax 要求にもサービスを提供するためです。

socket.io を使用して Websocket 通信を実装し、node.js の前に Web サーバーを配置しています。

助言がありますか?

4

1 に答える 1

3

ファイアウォールは、WebSocket接続を妨害する可能性のある仲介者の1つのタイプにすぎません。他の主要なカテゴリはWebプロキシです。

WebSocket接続が成功する可能性を最大化するには、すべての主要なブラウザーに組み込まれているCAによって発行された証明書を持つWSサーバーを使用して、ポート443でWSS(セキュアWebSocket)を実行する必要があります。

これは、(暗号化されていない)トラフィックを検査するMITMプロキシが配置されていない限り、多くの制限された企業ネットワークで機能します。

原則として、WSは特定のポートをプレーンな古いHTTPサーバーと共有できますが、このトピックは上記とは直交しています。

于 2012-06-01T13:19:25.533 に答える