Haproxy SNI与HTTP主机ACL检查性能

Thi*_* A. 5 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
...
Run Code Online (Sandbox Code Playgroud)

特殊选项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 Header提取ACL执行得更快?HAProxy是否有机会在读取HTTP内容之前提取SNI值并使用它,提取Host:Header并计算我的第二个ACL?

或者性能是一样的?

谢谢,

Thi*_* A. 5

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

  1. ssl_fc_sni表现得比较快hdr(host),但却难以察觉.
  2. 将SNI值用作后端选择器是个坏主意.基本hdr(host)绝对更标准,清洁和安全.

邮件列表存档:http://marc.info/? l = haproxy&m = 144490809910124& w = 2