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的服务商