我想设置 HAProxy 来终止 SSL 或通过主机名传递连接,仅公开一个公共 IP 地址。例如
互联网 -> 域 web1.example.com (10.10.10.1) HAproxy SSL 终止 -> 后端 (10.10.10.10)
互联网 -> 域 web2.example.com (10.10.10.1) HAproxy 直通 -> 后端 (10.10.10.20)
我希望有这样的功能,以便为 web2.example.com 提供 mTLS 的可能性
可以只使用一个公网 IP 吗?
谢谢。
答案1
尝试一下类似的东西。小心,我没有检查过=)
frontend front_tcp
bind *:443
mode tcp
acl host_web2 req_ssl_sni -i web2.example.com
use_backend back_web2 if host_web2
default_backend back_tcp_to_http
backend back_tcp_to_http
server haproxy-http 127.0.0.1:8443
frontend front_http
mode http
bind 127.0.0.1:8443 ssl crt /etc/ssl/mycert.pem
acl host_web1 hdr(host) -i web1.example.com
use_backend back_web1 if host_web1
backend back_web1
mode http
server web1 10.10.10.10:80
backend back_web2
mode tcp
server web2 10.10.10.20:443