Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl certificate Haproxy不会识别新证书_Ssl Certificate_Haproxy_Lets Encrypt - Fatal编程技术网

Ssl certificate Haproxy不会识别新证书

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

我最近把我的证书改成了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-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**