SSL在移动网站上无法工作。

15 浏览
0 Comments

SSL在移动网站上无法工作。

我在StarCom获得了一年的SSL证书,之后我重新发布了新证书并在我的ubuntu上的apache2服务器上替换了文件。从那时起,我无法在移动设备上访问我的网站。不幸的是,iOS没有显示任何错误,只是一个空白页面。

我检查了所有的SSL检查器,它们都给了我A+。这是我的配置的一部分:

SSLEngine on

SSLProtocol all -SSLv2 -SSLv3

SSLHonorCipherOrder on

SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL

SSLCertificateFile /etc/ssl/domain/new/domain.crt

SSLCertificateKeyFile /etc/ssl/domain/new/private.key

# SSLCertificateChainFile /etc/ssl/domain/new/1_root_bundle.crt

SSLCACertificateFile /etc/ssl/domain/new/cer.crt

我花了整个晚上寻找解决办法,但没有结果。所有证书都是有效的,包括CA。我尝试启用链,但结果仍然是一样的。

通过使用Mac的Safari对iOS设备进行调试,我得到了以下错误:

无法加载资源:此服务器的证书无效。您可能正在连接到一个假冒为“your.site.com”的服务器,这可能会危及您的机密信息。

0
0 Comments

问题原因:SSL证书链配置错误,可能是由于服务器配置错误导致的。可能是缺少证书链文件或者文件中的内容有误。

解决方法:需要重新配置SSLCertificateChainFile,确保1_root_bundle.crt文件中包含了从根证书到叶子证书的完整证书链。在starcom的情况下,可能有1个中间证书,所以证书链将包含两个证书。证书链只是一串PEM编码的证书文本,如果打开1_root_bundle.crt文件,你会看到一段像----- BEGIN CERTIFICATE ---------- END CERTIFICATE -----的文本。

如果使用的是apache 2.4.8版本,可以将所有证书都包含在domain.crt文件中,然后不再使用SSLCertificateChainFile属性。具体请参考文档

另外还需要移除SSLCACertificateFile属性。

0