2016-06-23 12 views
0

複数のドメインに対して、HAproxy - リバースプロキシを設定しようとしています。しかし、ブラウザでHAProxy URLを試してみると、 "503 - service unavailable"と表示されます。複数のドメインのHAproxy-reverse proxy - 503サービスが利用できない

これをセットアップしようとしていますが、私は4つのドメインを持っています。いずれかがプロキシサーバーのURLにヒットした場合、要求は特定のドメインが要求に属している必要があります。

私のhaproxy設定ファイル以下。

log   127.0.0.1 local2 
chroot  /var/lib/haproxy 
pidfile  /var/run/haproxy.pid 
maxconn  4000 
user  haproxy 
group  haproxy 
daemon 

# turn on stats unix socket 
stats socket /var/lib/haproxy/stats 

デフォルト

mode     http 
log      global 
option     httplog 
option     dontlognull 
option     http-server-close 
option     forwardfor 
option     redispatch 
retries     3 
timeout http-request 10s 
timeout queue   1m 
timeout connect   10s 
timeout client   1m 
timeout server   1m 
timeout http-keep-alive 10s 
timeout check   10s 
maxconn     3000 

フロントエンドHTTP-で バインド*:80

acl host1 hdr(host) -i xyz.com 
    acl host2 hdr(host) -i abc.com 
    acl host3 hdr(host) -i ghy.com 
    acl host4 hdr(host) -i klm.com 

    use_backend xyz if host1 
    use_backend abc if host2 
    use_backend ghy if host3 
    use_backend klm if host4 

バックエンドのxyz

mode http 
    balance  roundrobin 
    option forwardfor 
    server s2 xyz.com:80 check 

バックエンドABC

mode http 
    balance  roundrobin 
    option forwardfor 
    server s1 abc.com:80 check 

バックエンドGHY

mode http 
    balance  roundrobin 
    option forwardfor 
    server s4 ghy.com:80 check 

バックエンドKLM

mode http 
    balance  roundrobin 
    option forwardfor 
    server s3 klm.com:443 check 

ウェブインターフェースを聞きます123

@管理者:の

バインド0.0.0.0:9200

モードのhttp

統計は

統計URI/

統計

統計認証管理プライベート厳密\レルムを有効にします


この問題を解決するのを手伝ってくださいue。

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

+0

ログをご覧ください。すべての要求は、要求が処理を終了したときにセッションの状態を説明する4文字のコードで記録されます。リクエストが成功するためには、通常は '----'です。それ以外の場合は、コードが文書化されます。 –

+0

次のようなログをhaproxyで取得しています。Jun 23 21:37:40 localhost haproxy [3344]:192.168.4.28:20346 [23/Jun/2016:21:37:40.384] http-in http-in/ -1/-1/-1/0 503 212 - - SC-- 0/0/0/0/0 0/0 "POST http://example.com HTTP/1.1":注:例.comはabc.com – Raja

答えて

1

haproxyから503 - service unavailableを取得すると、バックエンドサーバが適切にリクエストにサービスを提供されていないことを示している - あなたの統計ページ(例えばhttp://localhost:9200/)をチェックすると、サーバはサーバが健康であったならば、それは緑色で示されます(赤で表示されます正常なバックアップサーバーは青色で表示されます)。

あなたserver行がcheckキーワードが含まれているので、haproxyは定期的にポーリング各バックエンドサーバサーバは「健康」であるかどうかを確認するためにある - つまり、それは(http checks用)の2xx-3xxのHTTPステータスを返した場合。

あなたは、いくつかのオプションがあります。

  • はあなたserverラインからcheckを削除 - haproxyは、サーバがデフォルトで用意されてい前提としています。
  • あなたのserver行にcheckのままにしますが、httpchkを設定します(これはバックエンドごとに行うことができます)。たとえば: option forwardfor option httpchk HEAD/HTTP/1.1\r\nUser-Agent:\ HAProxy\r\nHost:\ server s2 xyz.com:80 check

は/リロード設定変更を行った後、haproxyに再起動することを忘れないでください!

+0

ありがとうMatt。私はそれをチェックします。 – Raja

関連する問題