Ssl certificate Haproxy不会识别新证书
我最近把我的证书改成了LetsEncrypt的 我将新证书放在旧证书的位置:Ssl certificate Haproxy不会识别新证书,ssl-certificate,haproxy,lets-encrypt,Ssl Certificate,Haproxy,Lets Encrypt,我最近把我的证书改成了LetsEncrypt的 我将新证书放在旧证书的位置: cat /etc/haproxy/certs/fullchain.pem /etc/haproxy/certs/privkey.pem > /etc/haproxy/certs/mydomain.com.pem 在我的haproxy.cfg中,我有: frontend https bind :::8443 v4v6 ssl crt /etc/haproxy/certs/mydomain.com.pem no-s
cat /etc/haproxy/certs/fullchain.pem /etc/haproxy/certs/privkey.pem > /etc/haproxy/certs/mydomain.com.pem
在我的haproxy.cfg
中,我有:
frontend https
bind :::8443 v4v6 ssl crt /etc/haproxy/certs/mydomain.com.pem no-sslv3
然后我运行了systemctl reload haproxy
,但当我在浏览器中访问它或使用它时,它仍然会带来旧的haproxy
如果我使用
curl-kv mydomain.com
它会显示正确的证书 如果您在/etc/haproxy/certs中有旧的pem文件,haproxy可能正在使用它而不是新的pem文件
我也有类似的问题。HAproxy使用的是过期证书,该证书最初仅为dev.domain.com和Let's Encrypt创建。后来,我更改了证书创建过程以包括多个域:
domain.dom www.domain.com和dev.domain.com。
旧的dev.domain.com.pem仍在/etc/haproxy/certs文件夹中。当我访问时,HAproxy使用旧的pem证书文件,Chrome对过期的证书发出警告。
当我删除dev.domain.com.pem文件并重新加载HAproxy时,它开始使用新证书,SSL再次正常工作。我遇到了同样的问题,即使在重新加载配置后,HAproxy也会随机为旧证书提供服务。在环顾四周许多天之后,问题是“重新加载”操作创建了一个新进程,而没有终止旧进程。旧的流程服务于过时的证书。您可以通过“ps aux | grep haproxy”进行检查 修复 如果您的环境允许几秒钟的停机时间,请运行“service haproxy stop”(服务haproxy停止),直到没有剩下任何haproxy进程,然后启动haproxy 按启动时间排序并终止旧进程,同时检查服务是否仍在其间运行 1年后编辑
我们没有在每次重新加载后手动执行上述修复,而是添加了一个“”并持续600秒。确保在添加参数后杀死所有旧进程,并使用ps aux检查相同的进程。所以现在,较旧的进程必须在600秒后死亡,并且不能提供过时的证书。我的问题是HAProxy(
HA Proxy version 1.8.19-1+deb10u3 2020/08/01
)在浏览器和cURL中错误地拾取并作为过时的子域证书吐出
重新加载、重新启动、停止+启动甚至升级Debian都无济于事。帮助的是删除过时的通配符证书并重新加载是否关闭了所有浏览器窗口?浏览器keepalives将保留现有连接,这将在重新加载后使旧的HAProxy进程保持活动状态,直到旧的连接关闭……是的,我这样做了。我甚至尝试使用匿名浏览器并清理了缓存。可能有一个陈旧的HAProxy进程正在使用旧证书运行。你能告诉我有多少个进程吗:ps aux | grep haproxyDidn的输出对我的情况没有帮助:/
**OR**