Haproxy SNI与HTTP主机ACL检查性能

时间:2015-10-12 15:50:05

标签: performance ssl haproxy

我有一个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?

或者性能是一样的吗?

谢谢,

1 个答案:

答案 0 :(得分:5)

我在haproxy邮件列表上问了同样的问题,我得到了答案:

  1. ssl_fc_sni执行速度比hdr(host)快,但不会察觉。
  2. 使用SNI值作为后端选择器是一个坏主意。基本hdr(host)肯定更标准,更干净,更安全。
  3. 邮件列表存档: http://marc.info/?l=haproxy&m=144490809910124&w=2