我有一台带有 N 个网络接口的服务器,每个本地地址都通过不同的外部 IP 地址路由。我想设置 haproxy,以便我们的应用程序可以使用网络接口作为循环池来发出 http 请求。我们这样做是因为我们使用的第三方 API 具有基于 IP 的限制,而扩展我们的公共地址池有助于我们发出更多请求(同时遵守其规则)。
这可能吗?谢谢你的帮助。
答案1
我不确定我是否正确理解了这个用例,但如果您需要 haproxy 监听所有接口,这是可能的。只需将其绑定到您需要的每个 IP 上或将其绑定到所有接口 (0.0.0.0)。
IE。
listen haproxy_frontend
bind *:8080
balance roundrobin
server server1 server1.localdomain check
server server2 server2.localdomain check
如果用例是在这些本地接口之间循环请求,那么您需要将您的应用程序绑定到服务器上的每个接口,并将这些地址添加到 haproxy 配置中。
IE。
listen haproxy_frontend
bind 192.168.50.81:8080
balance roundrobin
server local1 192.168.60.81:8081 check
server local2 192.168.70.81:8081 check
server local3 192.168.80.81:8081 check