3

私は何時間も努力していて、このサイトとインターネットが提供するものを読みました。ここでSocket.IOを正しく動作させることができないようです。nginxはデフォルトでSocket.IOを処理できないことは知っていますが、HAproxyは処理できます。nginxがUNIXソケットを介してNodeアプリを提供するようにしたいのですが、それはうまく機能します。それぞれにnginxによって設定されたサブディレクトリの場所がありますが、最後のアプリにSocket.IOが必要であり、この時点で構成できなくなっています。

最新のsocket.io、HAproxy 1.4.8、nginx1.2.1を使用しています。Ubuntuを実行しています。

繰り返しになりますが、ソケット.ioをnginxを介して、サブディレクトリ内のノードアプリ(例:localhost / app /)に対して機能させる必要があります。

Diagram:
WEB => HAproxy => Nginx => {/app1 app1, /app2 app2, /app3 app3}

私が他に何かを提供できるなら、今私にさせてください!

4

2 に答える 2

0

ポート 80 で Haproxy を使用して、異なるポートで実行されている複数の node.js アプリを前面に出すことができます。

例えば

URL:80/app1 -> haproxy -> ノード app1:8080

URL:80/app2 -> haproxy -> ノード app2:8081

URL:80/app3 -> haproxy -> ノード app3:8083

アップデート:

http://server:80/hello以下は、要求を宛先localhost:20001および宛先http://server:80/echoにルーティングする HAPROXY 構成の例です。localhost:20002

バックエンドこんにちは
    サーバー hellosvr 127.0.0.1:20002

バックエンド エコー
    サーバー echosvr 127.0.0.1:20001

フロントエンド http_in
    オプション httpclose
    option forwardfor except 127.0.0.1 # stunnel はすでにヘッダーを追加しています
    バインド *:80
    acl rec_hello path_beg /hello/
    use_backend hello if rec_hello
    acl rec_echo path_beg /エコー
    use_backend echo if rec_echo
于 2012-06-15T21:07:31.137 に答える
0

「nginx で socket.io を機能させる」必要はありません。代わりに、HAProxy を Socket.IO に直接ルーティングするだけです (途中で Nginx を介さずに)。

次のリンクをチェックアウトすることをお勧めします。

于 2012-06-15T10:51:08.730 に答える