我可以使用与 HAProxy 匹配的通配符 SNI 吗?
Can I use wildcard SNI matching with HAProxy?
我正在四处寻找 HAProxy 匹配 SNI 通配符的示例,我的搜索提出了标题相似但与证书无关的问题。
具体来说,我需要使用 acme / letsencyrpt 为 dvsni 路由 nonce 域。
frontend foo_ft_https
mode tcp
option tcplog
bind 0.0.0.0:443
acl foo_app_letsencrypt req.ssl_sni -i *.acme.invalid
use_backend foo_bk_letsencrypt if foo_app_letsencrypt
default_backend foo_bk_default
backend foo_bk_letsencrypt
mode tcp
option tcplog
server foo_srv_letsencrypt 127.0.0.1:3443
backend foo_bk_default
mode tcp
option tcplog
server foo_srv_default 127.0.0.1:8443
注意:所有任意名称都以 'foo_' 为前缀,以便 reader 可以轻松地将它们与关键字、指令等区分开来。
改变
acl foo_app_letsencrypt req.ssl_sni -i *.acme.invalid
到
acl foo_app_letsencrypt req.ssl_sni -m end .acme.invalid
官方文档中没有提到
https://cbonte.github.io/haproxy-dconv/configuration-1.5.html 明确地,但我能够找到其他资源使我得到正确的结果:
- https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#7.1.3
- http://comments.gmane.org/gmane.comp.web.haproxy/14602
请注意,如果您要尝试第一个示例,它会 "work",但“”将被解释为文字“”,而不是通配符.
即使这是一个非常古老的问题,我也想分享这个解决方案,因为这仍然是第一个 google 的结果:
CoolAJ86 给出的解决方案对我不起作用(它可能适用于旧版本的 HAProxy)。您可以像这样使用 ssl_fc_sni_end 而不是 ssl_fc_sni:
use_backend apache if { ssl_fc_sni_end domain.com }
它将完成工作!
我正在四处寻找 HAProxy 匹配 SNI 通配符的示例,我的搜索提出了标题相似但与证书无关的问题。
具体来说,我需要使用 acme / letsencyrpt 为 dvsni 路由 nonce 域。
frontend foo_ft_https
mode tcp
option tcplog
bind 0.0.0.0:443
acl foo_app_letsencrypt req.ssl_sni -i *.acme.invalid
use_backend foo_bk_letsencrypt if foo_app_letsencrypt
default_backend foo_bk_default
backend foo_bk_letsencrypt
mode tcp
option tcplog
server foo_srv_letsencrypt 127.0.0.1:3443
backend foo_bk_default
mode tcp
option tcplog
server foo_srv_default 127.0.0.1:8443
注意:所有任意名称都以 'foo_' 为前缀,以便 reader 可以轻松地将它们与关键字、指令等区分开来。
改变
acl foo_app_letsencrypt req.ssl_sni -i *.acme.invalid
到
acl foo_app_letsencrypt req.ssl_sni -m end .acme.invalid
官方文档中没有提到 https://cbonte.github.io/haproxy-dconv/configuration-1.5.html 明确地,但我能够找到其他资源使我得到正确的结果:
- https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#7.1.3
- http://comments.gmane.org/gmane.comp.web.haproxy/14602
请注意,如果您要尝试第一个示例,它会 "work",但“”将被解释为文字“”,而不是通配符.
即使这是一个非常古老的问题,我也想分享这个解决方案,因为这仍然是第一个 google 的结果:
CoolAJ86 给出的解决方案对我不起作用(它可能适用于旧版本的 HAProxy)。您可以像这样使用 ssl_fc_sni_end 而不是 ssl_fc_sni:
use_backend apache if { ssl_fc_sni_end domain.com }
它将完成工作!