haproxy sni 路由不起作用

haproxy sni 路由不起作用

无论我怎么尝试,我都无法加载多个服务器或后端。这就像忽略了 sni 检查。我目前在 ubuntu 服务器上使用 haproxy 版本 2.6.2。我当前的代码是:

defaults
  timeout client 30s
  timeout server 30s
  timeout connect 5s

frontend site_https
  bind *:443
  mode tcp
  tcp-request inspect-delay 5s
  tcp-request content accept if { req_ssl_hello_type 1 }  
  default_backend back_https

backend back_https
  mode tcp
  acl a1_acl req_ssl_sni -i a.domain.com
  acl a1_acl req_ssl_sni -i b.domain.com
  acl a1_acl req_ssl_sni -i c.domain.com
  acl a2_acl req_ssl_sni -i d.domain.com
  use-server s1 if a1_acl
  use-server s2 if a2_acl
  option ssl-hello-chk
  server s1 192.168.0.1:443
  server s2 192.168.0.2:443

无论我在域名中输入什么,都会导致服务器 s2 加载。它正在完成忽略服务器 s1。我已经阅读了许多教程和 haproxy 文档,但肯定有什么是我遗漏的。非常欢迎任何帮助/建议。

谢谢你,

答案1

事实证明我的 haproxy 设置一切正常。经过更多测试后,我发现如果我在尝试访问不同域名之间关闭浏览器,它就会正常工作。然后它让我想到它没有识别出更改,问题出在我的证书上。我使用的是通配符证书 *.domain.com。将其更改为两个证书,一个用于 a.domain.com,一个用于 b.domain.com 和 c.domain.com,然后是 d.domain.com,现在一切都运行正常。

希望这能够帮助其他人。

相关内容