現在、Ubuntu AWSクラスターでComodo SSL証明書を検証する際に問題が発生しています。ブラウザーはサイト/コンテンツを適切に表示し、関連するすべての証明書情報(少なくとも、確認したものすべて)を表示していますが、特定のネットワークプロキシとオンラインSSLチェッカーは、チェーンが不完全であることを示しています。
これを解決するために、次のことを試みました。
「.pem」ファイルは、opensslを使用してOKを確認します。さまざまな中間証明書とルート証明書がインストールされ、/ etc/ssl/certsに表示されます。しかし、チェックはまだ不完全なチェーンで戻ってきます。
私たちがチェックできる他の何か、またはこれを修正しようとすることができる他の変更について誰かがアドバイスできますか?
事前に感謝します...
[〜#〜] update [〜#〜]:haproxy.cfg(私は信じています)からの唯一の関連する行は次の行です:
bind *:443 ssl crt /etc/ssl/domainaname.com.pem
PDATE 2:openssl s_client
からの出力
CONNECTED(00000003)
depth=0 OU = Domain Control Validated, OU = COMODO SSL, CN = www.domainname.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, OU = COMODO SSL, CN = www.domainname.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 OU = Domain Control Validated, OU = COMODO SSL, CN = www.domainname.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/OU=Domain Control Validated/OU=COMODO SSL/CN=www.domainname.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO SSL CA
以下は、www.domainname.com.pem
の内容です(haproxy構成で参照されています)。
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: www.domainname.com
subject=/OU=Domain Control Validated/OU=COMODO SSL/CN=www.domainname.com
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO SSL CA
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
-----BEGIN INTERMEDIATE CERTIFICATE-----
[...]
-----END INTERMEDIATE CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----
FWIW、私はこれの底に着くことができました。問題は、.pem
ファイルのさまざまな証明書に使用した区切り文字でした。
区切り文字は正確に-----BEGIN/END CERTIFICATE-----
である必要があります-「中間」や「ルート」などはありません。
また、HAProxyの動作する.pem
には、チェーン内のすべての中間証明書とルート証明書が含まれています。これは、すべての証明書を取得する唯一の方法であるように思われました。
中間証明書を含める正しい順序:
-----BEGIN PRIVATE KEY----- [Your private key] -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- [Your certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [Intermidate#1 certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [Intermidate#2 certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [Root certificate] -----END CERTIFICATE-----
awk 1 ORS='\\n' ~/your_path/cert.pem
文字列をコピー
そのようにdocker-compose.yml
に貼り付けます:
proxy: image: tutum/haproxy ports: - "80:80" - "443:443" environment: - "DEFAULT_SSL_CERT=-----BEGIN PRIVATE KEY-----\nMIIEvQIBADA......" links: - webapp
それは私にとって仕事です。