HAProxy-URIに基づいて別のWebサーバーに転送する


14

次の構成のHTTPファームがあります。

listen webfarm 10.254.23.225:80
       mode http
       balance roundrobin
       cookie SERVERID insert
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server webA 10.254.23.4:80 cookie A check
       server webB 10.248.23.128:80 cookie B check

特定のURI(/ special)に対するすべてのリクエストを3番目のWebサーバーに転送するオプションを追加したいと思います。どうすればいいですか?

回答:


23

ホストヘッダーに基づく負荷分散について書いたブログ投稿は次のとおりです。

http://www.mattbeckman.com/2009/09/18/using-the-acl-in-haproxy-for-load-balancing-named-virtual-hosts/

URIまたはディレクトリと照合する場合は、そのページで提供されている例で使用されているhdr_endの代わりにpath_begを使用することをお勧めします。以下は、設定でこれを行う方法の例です。

frontend http-in
    bind 10.254.23.225:80
    acl has_special_uri path_beg /special
    use_backend special_server if has_special_uri
    default_backend webfarm

backend webfarm
    balance roundrobin
    cookie SERVERID insert
    option httpchk HEAD /check.txt HTTP/1.0
    option httpclose
    option forwardfor
    server webA 10.254.23.4:80 cookie webA check
    server webB 10.248.23.128:80 cookie webB check

backend special_server
    balance roundrobin
    cookie SERVERID insert
    option httpchk HEAD /check.txt HTTP/1.0
    option httpclose
    option forwardfor
    server webC 10.0.0.1:80 cookie webC check

お役に立てば幸いです!


ねえ、今あなたの答えを見ました。実際に、この同じソリューションを使用してそれをすでに解決しています。ご回答有難うございます!
サッジマラキ

このリンクは無効です。ただし、ここでは引き続き表示できます:web.archive.org/web/20160404161136/http
//www.techrawr.com/2009/…– jaggedsoft

1
@NextLocalありがとう-リンクを更新しました。以前のドメインの有効期限は切れましたが、上記の更新されたリンクのエイリアスでした。
マットベックマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.