我有一个HAproxy 1.5设置,可以在几个Web服务器之前卸载SSL(这样,它们只处理HTTP)
我的SSL证书是通配符,我们根据FQDN平衡不同的后端。
我的前端配置如下所示:
...
frontend my-frontend
bind ip:443 ssl crt /var/etc/haproxy/wildcard_cert.pem
mode http
log global
option httplog
option forwardfor
use_backend my-backend if { ssl_fc_sni my.domain.org }
use_backend my-backend2 if { ssl_fc_sni my2.domain.org }
acl is-domain hdr(host) -i my.domain.org
acl is-domain2 hdr(host) -i my2.domain.org
use_backend my-backend if is-domain
use_backend my-backend2 if is-domain2
...
特殊选项 ssl_fc_sni 可用于SSL卸载以访问SNI值(其他选项 req_ssl_sni 适用于SSL传递)
http://cbonte.github.io/haproxy-dconv/configuration-1.5.html#ssl_fc_sni
我想知道 ssl_fc_sni 的执行速度是否比HTTP标头提取ACL快? HAProxy是否有机会在读取HTTP内容之前提取SNI值并使用它,提取Host:Header并计算我的第二个ACL?
或者性能是一样的吗?
谢谢,
答案 0 :(得分:5)
我在haproxy邮件列表上问了同样的问题,我得到了答案:
ssl_fc_sni
执行速度比hdr(host)
快,但不会察觉。hdr(host)
肯定更标准,更干净,更安全。