首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HAProxy不执行SNI查找。

HAProxy不执行SNI查找。
EN

Server Fault用户
提问于 2018-09-14 09:59:09
回答 1查看 3K关注 0票数 0

HAProxy v.1.5.18,1.7.11使用通配符SSL证书侦听单个IP地址,我需要使用SNI查找指定几个后端。当重定向到某个后端时,有大量的配置文件都说req_ssl_sni -i hostname.example.com为ACL。我最好的尝试是查询req_ssl_sni -m found并发现SNI在前端是无法访问的。如何使SNI查找与单个HTTPS证书一起工作?

所需的haproxy.cfg如下:

代码语言:javascript
复制
frontend https
    bind *:443 ssl interface eth1 crt /etc/haproxy/allstar.company.com.pem
    tcp-request inspect-delay 5s
    tcp-request content accept if { req.ssl_hello_type 1 }
    acl to_webcam req.ssl_sni -i webcam.company.com
    acl to_jira req.ssl_sni -i jira.company.com
    use_backend webcam if to_webcam
    use_backend jira if to_jira
    default_backend no_sni

backend webcam
    acl webcam_auth (hidden)
    http-request auth realm webcam if !webcam_auth
    server ws01 10.x.x.x:8080

backend no_sni
    acl webcam_auth2 (hidden)
    http-request auth realm webcam-no-sni if !webcam_auth2
    server ws01 10.x.x.x:8080

backend drop403
    http-request deny

backend jira
    server jira-test 10.x.x.y:8080

全局和缺省值是不变的。有了这个配置,我所碰到的唯一后端就是要求HTTP的no-sni。见鬼?!

EN

回答 1

Server Fault用户

发布于 2018-09-14 10:03:51

以防有人绊倒。本站直截了当地说:“要启用SNI,所需要做的就是给HAProxy提供多个SSL证书”。因此,为了在前端启用SNI头,需要有几个具有不同证书的PEM文件。这里有一个带有通配符证书的PEM文件,因此SNI在have中被禁用。因此,过滤和ACL重定向应该通过hdr(host) ACL完成,就好像后端是纯HTTP一样。

代码语言:javascript
复制
acl to_webcam hdr(host) -i webcam.company.com
acl to_jira hdr(host) -i jira.company.com
use_backend webcam if to_webcam
use_backend jira if to_jira
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/930892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档