是否可以配置 HAProxy 以根据请求的源 IP 选择后端服务器?如果是这样,如何?

Joh*_*ohn 5 routing reverse-proxy haproxy

标题基本概括了所有内容。基本上,我想根据请求的源 IP 将请求路由到特定的后端服务器。

IE,

HTTP Request from 192.168.100.1 -> HAProxy -> BackendServer A
HTTP Request from 192.168.100.2 -> HAProxy -> BackendServer B
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ndt 9

我会通过创建单独的后端来做到这一点,然后根据源 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
Run Code Online (Sandbox Code Playgroud)

您还可以将 ips 列表放在文件中,然后使用类似的内容获取文件 acl is_A src -f /etc/haproxy/special_ips