SSL证书安装失败怎么办?常见问题及解决方法!

吉云

今天跟大家聊聊我这几天搞的https证书安装,真的是一把鼻涕一把泪,踩不少坑,现在总算搞定,赶紧记录下来,希望能帮到大家少走弯路。

话说前几天,公司要求把网站都升级成https,提高安全性嘛这我懂。拿到证书,我心想这还不简单,以前也搞过,三下五除二就能搞定。结果,啪啪打脸!

我按照供应商给的文档,把证书文件上传到服务器,然后修改Nginx的配置文件。改完之后,信心满满地重启Nginx,结果浏览器一访问,直接给我报个大大的“不安全”。

SSL证书安装失败怎么办?常见问题及解决方法!

WHAT?

赶紧查日志,发现Nginx报错,说证书链不完整。证书链?啥玩意?以前没注意过!赶紧上网查,才知道https证书需要一个完整的证书链才能被浏览器信任。原来供应商给我的证书文件里,只有服务器证书,缺少中间证书。

赶紧联系供应商,要来完整的证书链文件。把中间证书加到Nginx配置里,再次重启,这回总算没报错。但是,浏览器还是显示“不安全”,不过这回提示的是“混合内容”。

混合内容?又是什么鬼?

继续查资料,原来是网页里有些资源,比如图片、CSS、JS,还是用的http协议加载的。浏览器一看,你这网页一部分安全,一部分不安全,当然要提示。

这下麻烦,得把网页里所有的http资源都改成https。一个个手动改?那得改到猴年马月!还我找到一个比较省事的办法,就是在Nginx配置里加一个rewrite规则,把所有http请求都强制跳转到https。

SSL证书安装失败怎么办?常见问题及解决方法!

nginx

server {

listen 80;

server_name *;

rewrite ^(.)$ https://$server_name$1 permanent;

SSL证书安装失败怎么办?常见问题及解决方法!

这样,所有http请求都会自动跳转到https,省我不少事。

但是,问题还没完!有些js文件里,写死http的地址,rewrite规则不起作用。这下只能老老实实地手动改。

  • 用grep命令搜索所有js文件,找出包含http的行。
  • 把http改成https。
  • SSL证书安装失败怎么办?常见问题及解决方法!

  • 一个个测试,确保没有问题。

改完之后,总算解决混合内容的问题。浏览器终于显示绿色的“安全”标志。

但是,等等!

我发现,有些页面的样式乱。仔细一看,原来是因为有些CSS文件加载失败。

检查一下Nginx配置,发现是缓存的问题。Nginx缓存旧的CSS文件,导致新的CSS文件无法加载。

SSL证书安装失败怎么办?常见问题及解决方法!

解决办法很简单,清除Nginx缓存就行。

bash

rm -rf /var/cache/nginx/

清除缓存后,重启Nginx,样式终于恢复正常。

这回https证书安装,真的是一波三折。

SSL证书安装失败怎么办?常见问题及解决方法!

总结一下我踩过的坑:

  • 证书链不完整:一定要向供应商索要完整的证书链文件。
  • 混合内容:用rewrite规则强制跳转https,手动修改js文件。
  • Nginx缓存:清除Nginx缓存。

SSL证书安装失败怎么办?常见问题及解决方法!

希望我的经验能帮助到大家,少走弯路。安装https证书,看起来简单,实际上有很多细节需要注意。一定要仔细阅读文档,认真测试,才能确保万无一失。

祝大家都能顺利安装https证书,让网站更安全!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]