SSL证书-电脑访问正常,手机浏览器提示证书链问题

文章转载来自:香港空间


问题:我的证书安装好了,电脑访问正常,手机浏览器访问提示证书链问题

“当前网站证书不可信且证书链长度为1,可能是服务器没有配置完整证书链,是否信任并继续访问?”

问题原因

部分使用香港云服务器的apache搭建网站的用户,网站提示缺少证书链,部分用户没有安装.ca部分,导致电脑浏览器访问正常,手机浏览器访问报错。

解决办法

办法1:安装证ca书链即可(下面有安装教程)

办法2:合并ca和crt的内容(这里不再做示例)
将ca-bundle.crt文件内容,复制到yourdomin.com.crt文件内容的后面,并保存,重新安装即可。
注意:该方法不保证所有环境都有效。部分使用apache版的香港空间用户也适用。


下面是apache安装完整证书的示例


1.下载SSL证书

在我们网站下载证书

yourdomain.com.crt     (服务器证书)
yourdomain.com.key     (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中
ca-bundle.crt          (根证书链)

2.查找Apache配置文件并编辑

由于不同服务器配置文件路径不同,请联系服务器管理员协助安装.
Apache的主配置文件通常命名为httpd.conf或apache2.conf . 如果使用yum/apt-get安装,该文件通常放在 /etc/httpd | /etc/apache2 下面

3.配置SSL(HTTPS)站点

#如果配置已经存在就不要加
Listen 443
#如果配置已经存在就不要加
LoadModule ssl_module modules/mod_ssl.so
#非必须,配置多个SSL站点会需要
NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.getssl.cn
ServerAlias getssl.cn
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/ssl/yourdomain.com.crt 
SSLCertificateKeyFile /etc/ssl/yourdomain.com.key 
SSLCertificateChainFile /etc/ssl/yourdomain.com.ca-bundle
</VirtualHost>

Apache参数对应你的证书名称:

  • SSLCertificateFile            服务器证书 (例如. yourdomain.com.crt)
  • SSLCertificateKeyFile         证书的私钥文件,生成CSR时产生 (例如. yourdomain.com.key)
  • SSLCertificateChainFile       签发机构的中级证书和根证书,从我们公司购买的证书会提供这个文件 (如. ca-bundle.crt)

4.测试配置文件是否正确

apachectl configtest

5.重启Apache使其生效

apachectl restart

常见问题

1. 提示 SSLEngine 参数不正确?

请检查apache是否支持mod_ssl.so模块 , 检测方法  httpd -M | grep ssl  有显示ssl_module表示ssl模块已加载

2. mod_ssl.so没有安装

CentOS 使用yum安装的apache可以使用yum安装  yum install mod_ssl  

Ubuntu  使用apt-get安装的apache通常未启用SSL模块,执行此命令开启  sudo a2enmod ssl  

3. 网站使用CDN

证书需要安装在CDN上面,需要服务商支持SSL才可以,详情请咨询所用CDN的服务商