mod_proxyを使用したリバース プロキシ モードでmod_sslを使用して Apache 2.2.25 を使用しています。GoDaddy によって発行された、テスト目的で使用するサーバー証明書があります。チェーンには 3 つの証明書があります。中間 CA ( Go Daddy Secure Certificate Authority - G2 ) は、クライアントの信頼できる CA のリストに常にあるとは限りません。server cert -> GoDaddy intermediate CA -> GoDaddy Root CA
サーバーへの SSL 接続は、ブラウザー (少なくとも一部) では適切に機能しますが、他の一部のクライアントでは機能しません。次のコマンドを使用して、サーバーが完全な証明書チェーンを送信していないことに気付きました。openssl s_client -showcerts -connect SERVER_URL:443
実際、コマンドはエラーを報告しますVerify return code: 21 (unable to verify the first certificate)
SSLCertificateFile
各 VirtualHost でディレクティブを使用します。
SSLCertificateFile certificate.crt
certificate.crt ファイルには、秘密鍵とチェーン内のすべての証明書が含まれています。次のように分割してみました。
SSLCertificateFile server.crt
SSLCertificateKeyFile server.key
SSLCertificateChainFile chain.crt
しかし、これは何も変わりませんでした。
ご協力いただきありがとうございます!
編集
プロットが濃くなります-証明書とサーバーの組み合わせのようです。
(テストはSSL Shopperツールで行われます)
- Apache 2.2 (RHEL) 上の Go Daddy 証明書 (上記) -機能しません
- IIS7 で同じ証明書 -動作します
- Apache 2.2 RHEL 上の顧客の証明書 (Comodo から) -動作