为不同服务提供单一 HAProxy 前端

为不同服务提供单一 HAProxy 前端

因此,我很高兴使用 HAProxy 来平衡 2 个提供单一服务的 Web 服务器的负载。现在我需要添加 5 个 Web 服务器,它们将响应 5 个不同的主机名,并且我需要使用与上面相同的前端。

我尝试使用 ACL,但没有成功。

我有一个测试客户端,其中的主机文件已编译,所有主机名都指向 haproxy,我在前端使用了类似以下内容:

acl hw1 hdr_beg(host) -i hw1.test.lan 

use_backend back_hw1 if hw1

然后我设置了一个back_hw1后端服务器,但它似乎从未匹配,当我尝试时,我收到“服务器没有响应”的信息。

所有 Web 服务器都使用 HTTPS,并且当我设置第一个服务时,我在 HAProxy 中正确设置了 SSL。

谢谢你的帮助。

答案1

不要将 hdr_beg 与看似 FQDN 一起使用,而是尝试使用 hdr_dom(host)。

答案2

如果您的客户端请求使用 https 您应该尝试使用斯尼acl 而不是主机头。

尝试类似

acl hw1 req.ssl_sni -i hw1.test.lan 

use_backend back_hw1 if hw1

相关内容