我从 GoDaddy 为我的域名购买了 SSL 证书。
内容如下:
- 证书文件
gd_bundle-g2-g1.crt
我的Apache 2.2.31
Web 服务器上有 vhost。以下是配置(httpd.conf
):
<VirtualHost X.X.X.X:443>
SSLEngine on
SSLCertificateFile [[path_to_certificate]]
SSLCertificateKeyFile [[path_to_key]]
SSLCertificateChainFile [[path_to_gd_bundle-g2-g1.crt]]
ServerName [[domain_nme]]
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
</VirtualHost>
它在 Google Chrome 中运行正常。在 Andriod 客户端中,java.security.cert.CertPathValidatorException
会抛出错误。这是因为中间证书有问题。
问题:
- 下载附带的文件是否
gd_bundle-g2-g1.crt
正确? - 如果是,那么我的配置存在什么问题?
注意:SSL 测试https://www.ssllabs.com/ssltest/index.html还说链条不完整。
答案1
gdig2.crt
您可能需要GoDaddy 证书存储库。它也应该包含在您下载的软件包中。
一旦您拥有该证书并知道根证书,您可以使用以下命令进行验证:
openssl verify -verbose -CAfile <(cat gdroot-g2.crt gdig2.crt) yourcert.crt
如果没问题的话你应该会看到类似<certname>:OK
一旦您确保一切正常,您就可以重试 SSLLabs 测试。
希望有所帮助。=)