CentOS7 上 HAProxy 中的 Comodo SSL 证书

CentOS7 上 HAProxy 中的 Comodo SSL 证书

我有一台 CentOS 7 服务器,前端是 HAProxy 1.6,后端是 Apache 2.4。

我正在尝试在 HAProxy 中加载 SSL 证书,但是它需要一个.pem文件。

我从Comodo获得了以下文件:

  • 卡本德
  • 证书.crt
  • 证书密钥
  • 证书.p7b

并尝试合并certificate.crtcertificate.key

cat certificate.crt certificate.key > haproxy1.pem

到目前为止,此方法有效,但是会出现常规Chain Issues错误。还尝试将cabundle.crtcertificate.crt和合并certificate.key为一个文件。但这会在 HAProxy 日志中.pem显示。SSL handshake failure

如何让它正常工作?

文件内容

卡本德

-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----

证书.crt

-----BEGIN CERTIFICATE-----
hash
-----END CERTIFICATE-----

证书密钥

-----BEGIN PRIVATE KEY-----
hash
-----END PRIVATE KEY-----

haproxy配置文件

frontend public
    bind            *:80
    bind            *:443 ssl crt /etc/ssl/certs/private/

答案1

通过执行以下操作解决了此问题:

如果我提供密码,我的 ISP 会给我一个解密的私钥,但这与我自己使用 openssl 解密时得到的结果不同。

因此我下载了加密版本并使用密码自行解密:

openssl rsa -in certificate.key -out rsa.key

-----BEGIN RSA PRIVATE KEY-----这给了我一个以而不是-----BEGIN PRIVATE KEY-----来自 ISP 开头的文件,并且具有不同的 base64 内容。

此外,显然其中cabundle.crt包含一个根证书(第一个块),这是不必要的,所以我删除了这个。

接下来,我将这些文件合并在一起:

cat certificate.crt cabundle.crt rsa.key > domain.com.pem

还可以直接在文件中指定它haproxy.cfg,以防止加载错误的文件:

frontend public
    bind            *:80
    bind            *:443 ssl crt /etc/haproxy/ssl/domain.com.pem

我仍然得到一个连锁问题:顺序错误SSLLabs 发出了警告,但是它仍然在运行,所以它并没有真正困扰我。

相关内容