2011-12-28 14 views
0

ブログやstackoverflowに投稿されているすべての考えられるhaproxy構成を試しましたが、まだ100%作業するためにhaproxyとsocket.ioを取得できません。 Webソケットを「サポートする」ブラウザの大部分では、失敗した心臓が鼓動した後、長いポーリングで失敗し、後退します。ブラウザが初期接続(nodejsデバッグ)を行っているように見えますが、クライアントから接続応答を受け取ることができません。他に誰も似たような問題がありますか?以下は、私が試したソフトウェアのバージョン番号といくつかの設定です。haproxyとsocket.ioが完全に動作していない

  • haproxy 1.4.18
  • ノード0.6.5
  • socket.io 0.8.7

Haproxy構成は、(私は多くのより多数のオプションを試してみました):

ウェブソケット:

  • のSafari 5(Windowsの場合)
  • クロム11(Linux)の
+0

私は式からhaproxyを削除しました。socket.ioは完璧に動作しますので、私は自分のhaproxy configに何か間違っていなければなりません。 – user1120155

+0

socket.ioがプロトコルを切り替える前にhaproxyを停止すると、接続中のWebソケットメッセージがクライアントに送信されます。私は現在、設定のために[リンク](http://stackoverflow.com/questions/8627070/a-good-solution-for-a-websocket-socket-io-server-ive-tried-nginx-node-etc)を使用しています。 – user1120155

+0

私は正しいhaproxy構成を得るためにかなりの時間を費やしました。私の場合、ウェブとフラッシュソケットは通過したかったが、他の輸送手段は通らないようにしたい。私はまた、haproxyでsslを終わらせたいと思っていました。それはしばらくして、あなたはおそらく問題を解決したでしょう。しかし、私は私のソリューションについてブログしました:http://blog.carbonfive.com/2013/05/02/using-haproxy-with-socket-io-and-ssl/乾杯、 キリスト教 –

答えて

-3

WebSocketをすることはできませんクライアントがヘッダーが広告でないときに送信しなければならない8バイトのデータContent-Lengthヘッダーでは垂直になり、ハンドシェイクが完了するまで中間データはそのデータを転送しません。そして、ハンドシェイクが完了するために8バイトを必要とするので、ハンドシェイクは決して完了せず、デッドロック、http://www.enotes.com/topic/WebSockets#Proxy_traversal。これだけではありません。より多くの情報源は、彼らが逆プロキシできないことを確認します。

+1

これは完全に間違って関連していますHTTPと互換性がない初期WebSocketドラフトに追加しました。 WebSocket *はHTTPと互換性があるため、逆プロキシすることができます。 –

関連する問題