• 服务器
  • HAProxy多主域名访问自动识别证书的关键配置

可以通过使用 HAProxy 的动态证书加载功能来实现自动识别证书并匹配域名的需求。
可以编写一个规则,使 HAProxy 在接收到请求时动态加载对应的证书文件,而无需手动配置每个域名的证书信息。
以下是一种实现方法:

  1. 配置动态证书加载规则

    在 HAProxy 配置文件中,可以使用如下规则来实现动态加载证书:

       frontend https_frontend
         bind :443 ssl crt /etc/haproxy/certs/%[req.hdr(Host),lower].pem
         # 其他配置规则

    这个配置中的 crt 指令中使用了 %[req.hdr(Host),lower].pem 来动态加载证书文件。这将根据请求的域名(Host 头部)来匹配对应的证书文件,假设证书文件命名规则为 域名.pem

  2. 证书文件存放路径

    将所有的域名证书文件存放在 /etc/haproxy/certs/ 目录下,并按照域名.pem 的规则命名。

通过这种方式,HAProxy 将会根据请求的域名自动加载对应的证书文件,实现了动态识别证书并匹配域名的功能。这样就无需手动修改配置规则来添加新的域名及证书信息。

5 个月 后

或者直接使用
frontend https_frontend
bind *:443 ssl crt /etc/haproxy/certs/

指定域名证书目录,系统会自动找到对应的证书。

1 个月 后

增加域名后,使用命令行重新加载后,新域名即可访问,而不中断当前的连接。

sudo systemctl reload haproxy