web-dev-qa-db-ja.com

リクエストのソースIPに基づいてバックエンドサーバーを選択するようにHAProxyを構成することは可能ですか?もしそうなら、どのように?

タイトルはほとんどそれをすべて言います。基本的に、リクエストのソースIPに基づいて特定のバックエンドサーバーにリクエストをルーティングしたいと思います。

つまり、

HTTP Request from 192.168.100.1 -> HAProxy -> BackendServer A
HTTP Request from 192.168.100.2 -> HAProxy -> BackendServer B
5
John

これを行うには、個別のバックエンドを作成し、ソースIPに基づいてフロントエンドからそれに応じてルーティングします。

例えば:

frontend foo
   acl is_A src 192.168.100.1
   acl is_B src 192.168.100.1
   use_backend A if is_A
   use_backend B if is_B
backend A
   server blah
backend B
   server baz

Ipsのリストをファイルに入れて、acl is_A src -f /etc/haproxy/special_ipsのようなものでファイルを調達することもできます。

8
Kyle Brandt