HAProxy 重定向多个域名

HAProxy 重定向多个域名

我只有一个公网 IP 地址,和 中的三台 Web 服务器。我想像这样LAN将来自 的流量重定向到 Web 服务器,必须支持流量重定向:WANSSL/TLS

https://www.example.com (A Record)===> 1.1.1.1(Public IP) ===> 192.168.1.1(Web 1)

https://www.example.net (A Record)===> 1.1.1.1(Public IP) ===> 192.168.1.2(Web 2)

HAProxy完成这项工作?

答案1

不需要使用haproxy,它不是设计为 http/https 平衡器。在我们的环境中,我们使用nginx已配置的上游。您也可以终止 sslnginx并在后端使用简单的 http。

答案2

只要您拥有站点的证书/密钥,您就可以将多个 FQDN 路由到不同的后端。 HA 代理需要能够解密流量并读取主机头,除非您想尝试使用 TCP 转发,但您失去了持久性的能力。 您的证书文件应为 PEM 格式。

前端 https--in
  绑定 1.1.1.1:443 ssl crt /etc/haproxy/certs
  模式 http
  选项 httplog
  use_backend bk_1 if { hdr_dom(host) -i www.example.com } { dst_port 443 }
  use_backend bk_2 if { hdr_dom(host) -i apps.example.com } { dst_port 443 }
  use_backend bk_3 if { hdr_dom(host) -i www.otherdomain.com } { dst_port 443 }

答案3

如果您只有 1 个外部 IP,则需要将 SAN 证书绑定到包含您想要定向的所有 URL 的外部端。查看使用 ACL 来引导流量。如https://seanmcgary.com/posts/haproxy---route-by-domain-name(不是我的博客)。HAProxy 是解决这一问题的完美方案。

相关内容