Haproxy 无法识别新证书

car*_*rla 5 haproxy ssl-certificate lets-encrypt

我最近将我的证书更改为 LetsEncrypt 的。

我将新证书放在旧证书的位置:

cat /etc/haproxy/certs/fullchain.pem /etc/haproxy/certs/privkey.pem > /etc/haproxy/certs/mydomain.com.pem
Run Code Online (Sandbox Code Playgroud)

在我的haproxy.cfg我有:

frontend https
bind :::8443 v4v6 ssl crt /etc/haproxy/certs/mydomain.com.pem no-sslv3
Run Code Online (Sandbox Code Playgroud)

然后我运行了,但当我在浏览器中或使用SSLLabssystemctl reload haproxy访问它时,它仍然会带来旧的。

如果我使用curl -kv mydomain.com它会显示正确的证书。

小智 2

如果 /etc/haproxy/certs 中有旧的 pem 文件,HAproxy 可能会使用它而不是新的。

我有类似的问题。HAproxy 使用的是最初通过 Let's Encrypt 仅为 dev.domain.com 创建的过期证书。后来我更改了证书创建过程以包含多个域:domain.dom www.domain.com 和 dev.domain.com。旧的 dev.domain.com.pem 仍在 /etc/haproxy/certs 文件夹中。当我访问https://dev.domain.com时,HAproxy 使用旧的 pem 证书文件,Chrome 发出证书过期的警告。当我删除 dev.domain.com.pem 文件并重新加载 HAproxy 时,它开始使用新证书,并且 SSL 再次正常工作。