我只有一个公共IP地址,三个LAN Web服务器。 我想将stream量从WANredirect到Web服务器,必须支持SSL/TLSstream量redirect:
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可以完成这项工作吗?
不需要使用haproxy ,它不是被devise成http / https平衡器。 在我们的环境中,我们使用configuration了上游的nginx 。 你也可以在nginx上终止ssl,并在后端使用简单的http。
只要您拥有站点的证书/密钥,就可以路由到多个FQDN的不同后端。 HA代理需要能够解密stream量并读取主机头,除非您想用TCP转发进行尝试,但是您将失去执行持久性的能力。 您的证书文件应该是PEM格式。
前端https - in
bind 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}
如果您只有一个外部IP,则需要将SAN证书绑定到包含您希望指向的所有URL的外部端。 看看使用ACL来引导stream量。 在https://seanmcgary.com/posts/haproxy—route-by-domain-name (不是我的博客)中可以看到。 HAProxy是完美的解决scheme。