haproxy:私钥和从 PEM 文件加载的证书不一致
haproxy: inconsistencies between private key and certificate loaded from PEM file
我正在尝试使用为另一台服务器签名的证书。我有私钥和证书。
我的 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。为什么会出现这种不一致?我确定私钥属于证书。
我现在已经尝试了几个小时,但找不到原因。
请帮忙!谢谢!
您文件中的证书顺序错误。看来您首先放置了中间证书(即 Secure Server CA
),因此预计它是服务器证书。证书的顺序需要是:
- 服务器证书
- 服务器私钥(无密码)
- 中级证书 1
- 中级证书 2
私钥放在哪里其实并不重要。但是,证书的顺序严格需要从叶到根排序,即首先是服务器证书,然后是中间证书,然后是父证书。基本上,您首先放置服务器证书,然后是它的签名者,然后是它的签名者,...
更多信息请参考the documentation。
我正在尝试使用为另一台服务器签名的证书。我有私钥和证书。
我的 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。为什么会出现这种不一致?我确定私钥属于证书。
我现在已经尝试了几个小时,但找不到原因。
请帮忙!谢谢!
您文件中的证书顺序错误。看来您首先放置了中间证书(即 Secure Server CA
),因此预计它是服务器证书。证书的顺序需要是:
- 服务器证书
- 服务器私钥(无密码)
- 中级证书 1
- 中级证书 2
私钥放在哪里其实并不重要。但是,证书的顺序严格需要从叶到根排序,即首先是服务器证书,然后是中间证书,然后是父证书。基本上,您首先放置服务器证书,然后是它的签名者,然后是它的签名者,...
更多信息请参考the documentation。