0

並列 Apache インストールで Socket.io を動作させるためのすべての可能なソリューションをテストするために、ポート 80 でリッスンする HAproxy をインストールしましたio.server.com

サーバーには 2 つの IP が接続されています。1 つは SSL 用で、もう 1 つはすべての非 SSL サブドメイン用です。io.server.comそのNON-SSL IPアドレスを指すサブドメインを作成しました。ただし、次の場合に発生します。

  1. にアクセスするとregular_http.server.com、Apache がそのサブドメインを処理します (OK)
  2. にアクセスするとio.server.com、「Socket.io へようこそ」という結果が表示されます (OK)
  3. 次にアクセスするとregular_http.example.com、「Socket.io へようこそ」という結果が表示されます

HAproxy が Socket.io に行くように構成されていないサブドメインから Socket.io にリクエストを送信するのはなぜですか? はい、2 つのサブドメインは IP を共有していますが、HAproxy は本当に IP 全体を 1 つの下でプロキシしていますか? ホスト名に基づいて ACL を設定することのポイントは何でしょうか?

これが私の構成です:

global
    daemon
    maxconn 4096
    user haproxy
    group haproxy

defaults
    log global

#this frontend interface receives the incoming http requests
frontend http-in
    mode http
    bind *:80
    timeout client 86400000
    #default behavior sends the requests to apache
    default_backend www_backend
    #when "io.test.tld" is matched, an acl I call arbitrarily
    # "websocket" triggers
    acl websocket hdr_end(host) -i io.server.com
    use_backend node_backend if websocket

ありがとうございました!

4

1 に答える 1

1

この問題はoption http-server-close、HAproxy の構成値を使用して解決されました。

于 2013-02-21T07:41:46.937 に答える