gpt4 book ai didi

ssl - 如何使用 HAproxy 为多个域设置 SSL 直通?

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:12 28 4
gpt4 key购买 nike

如何在通过 SSL 的同时为多个域、多个后端设置 HAproxy?

图表中的示例以获得更好的解释:

                              backend_domain_a
domain-a.com-. .-> 123.123.123.123
| |
+-> haproxy -+
| | backend_domain_b
domain-b.com-' '-> 789.789.789.789

注意 每个后端服务器都会颁发自己的证书。因此需要 SSL 直通。

我有此配置,但由于多种原因无法使用(关键是缺少端口号):

frontend www
bind *:80
bind *:443
option tcplog

acl host_domain_a hdr(host) -i domain-a.com
acl host_domain_b hdr(host) -i domain-b.com

use_backend backend_domain_a if host_domain_a
use_backend backend_domain_b if host_domain_b

backend backend_domain_a
server web_a 123.123.123.123 check

backend backend_domain_b
server web_b 789.789.789.789 check

换句话说,我希望 Haxproxy 终止 SSL。

我最初想用 Nginx 来做到这一点,但显然它不能在读取主机详细信息时充当非终止点(尽管在未来的版本中可能会使用 ssl preread)

最佳答案

谷歌搜索后,找到并测试了这个方法,它有效。我真的不明白为什么需要检查延迟,但它有效!!

frontend https_frontend
mode tcp
option tcplog
bind *:443
acl tls req.ssl_hello_type 1
tcp-request inspect-delay 5s
tcp-request content accept if tls

acl host_www req.ssl_sni -i example.com
acl host_www req.ssl_sni -i www.example.com
acl host_wiki req.ssl_sni -i wiki.example.com

use_backend https_www if host_www
use_backend https_wiki if host_wiki

backend https_www
mode tcp
option tcplog
option ssl-hello-chk
server www 192.168.1.10:443

全文在这里:https://az.id.au/ops/haproxy-http-and-https-multiple-domains-and-backends/

关于ssl - 如何使用 HAproxy 为多个域设置 SSL 直通?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42364784/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com