別のサーバー用に署名された証明書を使用しようとしています。私は秘密鍵と証明書の両方を持っています。
私の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 <[email protected]>
自己署名証明書でhaproxyを開始できます。なぜこの矛盾が発生するのですか?秘密鍵は証明書に属していると確信しています。
私は今何時間も試していますが、理由がわかりません。
助けてください!ありがとうございました!
ファイル内の証明書の順序が間違っています。中間証明書を置いているようです(つまり、Secure Server CA
)最初に、サーバー証明書であることが期待されます。証明書の順序は次のとおりである必要があります。
実際には、秘密鍵をどこに置くかはそれほど重要ではありません。ただし、証明書の順序は厳密にリーフからルートの順に並べる必要があります。つまり、最初にサーバー証明書、次に中間、次に親です。基本的に、最初にサーバー証明書を配置し、次にその署名者、次にその署名者を配置します...
詳細については、 ドキュメント を参照してください。