私はNodeJS-socketIOサーバーにJS、PHP & Pythonをリッスンするクライアントがあります。通信が普通のHTTP/WSチャネルを介して行われるとき、それは魅力的なように機能します。NodeJS - Webソケット転送によるSSL over SocketIO
ここで、この通信を保護しようとすると、websocketトランスポートはもう機能しません。 xhrポーリング(ロングポーリング)の転送に戻ります。 XhrポーリングはまだJSクライアントでは動作しますが、純粋にソケット転送に依存するPythonでは動作しません。
物事は私が試した:ノードで
- 、httpの代わりに(商用証明書付き)HTTPSを使用 - HAProxy経由
- プロキシノードを介してではなくsocketIOためのページを提供するための良い作品(1.15 -dev19)。 HTTPS(HAProxy)からHTTP(Node)へ。 Websocketトランスポートが動作しなくなりました。はJSのxhr-pollingにフォールバックします。 Pythonはをハンドシェイクでにします。
- プロキシ経由でSTUNnel(HTTPS用) - > HAProxy(Websocket Proxy) - > Node(SocketIO) - これはどちらでも動作しません。 Pythonクライアントはまだハンドシェイクで502を取得します。
- Stunnel(HTTPS)経由のプロキシ - > Node(SocketIO) - これはうまくいきません。確認されない場合のstunnel支持用WebSocketプロキシ
- ノード-HTTPプロキシは:500(:{ "コード": "ECONNRESET"} エラーが発生した)例外のWebSocket上及びバックXHRポーリングにフォールを
確かにその共通のユースケースと解決策があります。本当に助けに感謝します。
ありがとうございます!
私たちは、socketIO-clientを使ってpythonクライアントからnode.jsサーバをsocket.ioに接続しようとしていますが、成功しません。接続からいくつかのコードスニペットを共有できますか? – user2503775
SocketIO 1.xを使用している場合、Pythonクライアントは動作しません。 PythonクライアントでSocketIO 0.9を使用して、まだ動作していないかどうかを教えてください。 PythonクライアントのsocketIO-clientの作者は、1.xバージョンと一致するようにアップデート作業中です。 –
ありがとうございます。それは本当に私の問題でした。 – user2503775