4

SSLを処理するstunnelでhaproxyを使用しています(そして、プロキシモードを使用してhaproxyからの元のIPを保持しています)。

ドメイン、ヘッダー、またはパスに応じて異なるバックエンドにリダイレクトするいくつかのaclテストがあります。

問題は、http経由でアクセスする場合でもhttps経由でアクセスする場合でも、これらは同じですが、構成で複製する必要があることです。重複を減らす方法はありますか?

設定例は次のとおりです。

global
    user haproxy
    group haproxy
    #etc...

frontend http-in
    bind *:80

    acl files_path path_beg /files/
    acl beta_host hdr_beg(host) -i beta.

    use_backend files if files_path
    use backend beta_host
    default_backend appservers

frontend https-in
    bind *:442 accept-proxy

    acl files_path path_beg /files/
    acl beta_host hdr_beg(host) -i beta.

    use_backend files if files_path
    use backend beta_host
    default_backend appservers


backend appservers
    balance roundrobin
    option forwardfor

    server appserver_1 localhost:8080 weight 1
    server appserver_2 192.168.1.101:8080 weight 1

backend files
    balance roundrobin
    option forwardfor
    server file1 192.168.1.102 weight 1
    server file2 192.168.1.103 weight 1

backend beta
    balance roundrobin
    server beta1 192.168.1.104 weight 1

http-inとhttps-inのポートは異なり、stunnelがプロキシプロトコルを使用してユーザーの元のIPを渡すことができるように、https-inはaccept-proxyをsepcifyする必要があります。ただし、それ以外は同一であり、常に同一である必要があります。この重複を減らす方法はありますか?(haproxy 1.5-dev)

4

2 に答える 2

4

フロントエンドの 1 つの http を両方にバインドするだけです。

frontend http-in
  bind *:80
  bind 0.0.0.0:443 transparent
于 2015-01-25T11:23:05.007 に答える