我正在尝试使用为其他服务器签名的证书。我有私钥和证书。
我的PEM文件顺序是:
subject=/C=***/L=*****/O=**********/CN=*********
issuer=/C=***/O=*****Inc/CN=********Secure Server CA
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
subject=/C=US/O=******** Inc/CN=********* SHA2 Secure Server CA
issuer=/C=US/O=********* Inc/OU=*********/CN=******** Global Root CA
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
subject=/C=US/O=********* Inc/OU=***********/CN=*********** Global Root CA
issuer=/C=US/O=********* Inc/OU=************/CN=******** Global Root CA
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
当我尝试将其部署到我的haproxy时,我收到了此错误。
[ALERT] 188/141626 (2322) : parsing [/etc/haproxy/haproxy.cfg:32] : 'bind *:443' : inconsistencies between private key and certificate loaded from PEM file ................
[ALERT] 188/141626 (2322) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 188/141626 (2322) : Proxy 'www-https': no SSL certificate specified for bind '*:443' at [/etc/haproxy/haproxy.cfg:32] (use 'crt').
[ALERT] 188/141626 (2322) : Fatal errors found in configuration.
Errors in configuration file, check with haproxy check.
我的haproxy版本是:
HA-Proxy version 1.5.2 2014/07/12
Copyright 2000-2014 Willy Tarreau <w@1wt.eu>
我可以使用自签名证书启动我的haproxy。为什么会出现这种不一致?我确信私钥属于证书。
我现在试了几个小时,但我找不到原因。
请帮忙!谢谢!
答案 0 :(得分:21)
文件中的证书顺序错误。您似乎首先放入中间证书(即Secure Server CA
),因此预期该证书是服务器证书。证书的顺序必须是:
在您放置私钥的地方实际上并不重要。但是,证书的顺序严格需要从叶到根,即首先是服务器证书,然后是中间,然后是它的父。基本上,你先把服务器证书,然后是签名者,然后是签名者,......
有关详细信息,请参阅the documentation。