因此,我很高兴使用 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