今天有位网友咨询老王问他的网站已经开启了 https,配置了 SSL 证书,SSL 证书也是有效的,为什么 Chrome 打开网站的时候还是会提示您与此网站之间建立的连接并非完全安全的警告,并且不会有安全小锁的出现。本分分享下出现这个问题的原因以及解决办法。
一、为什么要开启 https
http 也可以正常打开网站,那为什么要升级成 https 呢:
- 好看:有个小锁表示你的连接是安全的;
- SEO 优势:Google 之前承认过 https 是影响搜索排名的一个因素;
- 免费:SSL 证书免费的也有,不要钱的东西为啥不开一下?
老王用的比较多的就是 Cloudflare 的 ssl 证书和 Let’s Encrypt 的证书。用 LNMP 新建网站也可以一键生成 SSL 证书,并且自动续费:Linux 一键安装 Nginx + MySQL + PHP 环境。
二、连接并非完全安全的原因
正常来说配置完 https 证书应该是提示连接安全,但是有些人可能会有这样的警告,您与此网站之间建立的连接并非完全安全:
上图中可以看到其实这个 SSL 证书是有效的,但是 Chrome 还是认为您与此网站之间建立的连接并非完全安全,这种情况一般来说是因为你的页面还有其他 http 资源,也就是所谓的 Mixed Content。
三、连接并非完全安全的解决办法
以 Chrome 为例,进入开发者工具(F12),选择 Security,这里会提示这个页面不安全的原因,按照提示修复问题即可:
例如之前找我的那个网友出现这个问题的原因就是他使用的主题里有几张图片还是用的 http 链接,修复好后,熟悉的小锁就回来了: