Haproxy 似乎颁发了错误的证书

Haproxy 似乎颁发了错误的证书

我正在尝试使用 haproxy 保护域名。当我加载 URL:bitbucket.kl.company.com 时,出现错误:

bitbucket.kl.company.com uses an invalid security certificate.

This certificate is only valid for the following names:
*.company.com, company.com, bitbucket-mirror.company.com

Error Code: SSL_ERROR_BAD_CERT_DOMAIN

现在,如果我进入服务器并执行以下操作:

 openssl x509 -text -noout -in /etc/haproxy/certs/cert.pem | grep DNS
                DNS:*.company.com, DNS:company.com, DNS:bitbucket.kl.company.com

我联系了颁发证书的 Digicert,他们说服务器颁发了错误的证书。

在我的 haproxy.cfg 中我有:

frontend bitbucket_http_frontend
    bind *:80
    bind *:443 ssl crt /etc/haproxy/certs/cert.pem ciphers HIGH:!aNULL:!MD5
    redirect scheme https code 301 if !{ ssl_fc }
    default_backend bitbucket_http_backend

出现正在发生的事……

haproxy 正在从内部颁发其他证书/etc/haproxy/certs

我没有想到或者要求它这样做,但这是唯一有意义的结论,除非它首先查看一个默认位置。

答案1

这是由于过时的 haproxy 进程在没有“systemctl”的情况下启动,并且已经运行了 3 个月。它正在为早已被删除的 pem 文件颁发证书。

我以为可能会发生端口冲突或类似的问题,但事实并非如此。haproxy 也没有任何抱怨。

答案2

首先你必须停止 haproxy 服务:

sudo service haproxy stop

之后,终止所有与 HAProxy 相关的进程:

ps aux | grep haproxy
user_1     3648060  0.0  0.0  ...
user_root  3680653  0.0  0.0  ...

终止所有进程:

kill -9 <process id>
kill -9 3648060
kill -9 3680653

最后,重新启动 HAProxy 服务并查看日志:

sudo service haproxy start
tail -f /var/log/haproxy.log

相关内容