我在 Haproxy 1.5 后面运行多个应用程序。我们为我们的域提供了签名的 SSL 通配符证书:*.mysite.com
我们现在需要实施4级域名:*.dev.mysite.com 在这种情况下,为 *.mysite.com 设置的 SSL 证书将不起作用。因此,我为通用名称创建了一个自签名证书:*.dev.mysite.com
我现在正尝试将此证书添加到 Haproxy 中。但似乎仅考虑 *.mysite.com 的第一个证书由 Haproxy 和*.dev.mysite.com似乎没有被解释。
我的配置:
frontend mainHttps
bind *:433 ssl crt /etc/ssl/private/sites/combined.pem
[...]
在哪里合并的pem包含 *.mysite.com 的签名证书和 *.dev.mysite.com 的自签名证书
笔记: Haproxy 1.5 在 SSL 证书绑定方面的行为与 Haproxy 1.6 的行为不同正如这里解释的那样
我不确定问题是否与 Haproxy 版本有关,或者问题是否与使用接管 *.dev.mysite.com 的通配符证书 *.mysite.com 有关
编辑: 我也尝试使用以下语法:
frontend mainHttps
bind *:433 ssl crt /etc/ssl/private/sites/
[...]
在哪里/etc/ssl/private/站点包含两个不同的 pem 证书。此语法似乎不起作用。
答案1
我没有找到使用 Haproxy 1.5 的简单解决方案,但我采用了一种解决方法来解决我的问题,如下所述使用多个负载均衡器。这肯定不是理想的,所以我的最终解决方案是升级到 Haproxy 1.6。
多个负载均衡器的使用:
这是在 HA 基础架构上工作的优势。我使用浮动 IP 作为我的主要入口点,然后通过 Haproxy 到达可用的负载均衡器。
因此,我为我的服务分配了一个负载均衡器,它将使用 *.dev.mysite.com 自签名证书。
frontend mainHttps
bind *:433 ssl crt /etc/ssl/private/sites/dev.mysite.pem
[...]
我已经编辑了 DNS 记录,因此 *.dev.mysite.com 被重定向到这个特定的负载均衡器,现在专用于服务我的第 4 级域。
升级到Haproxy 1.6:
由于以下解决方法成本较高,您可能需要考虑升级到 Haproxy 1.6,通过允许绑定多个证书来解决该问题:
frontend mainHttps
bind *:433 ssl crt /etc/ssl/private/dev.mysite.pem crt /etc/ssl/private/mysite.pem
[...]