昨晚给博客启用了全站https协议,本以为是很简单的一件事,比较不是第一次了,然.....
活活折腾了一个晚上,将所有不支持https的外链全换了比如百度分享啥的,弄到本地了,还有很多地方也弄过,然而还是没看到那个显眼的绿色锁出现!
遇到的问题
按理说只需要将所有的http资源换成https就能变成绿锁了,可是我当时遇到的情况真的很恶心人;
- 火狐一直是绿锁,就是谷歌一直出现灰色的感叹号。
- 不论如何检查加载的资源,都在找不出问题:曾尝试把所有本站携带的外链全部去掉;尝试关闭百度分享、站长统计、Gravatar头像以及一些别的怀疑的功能。
- 怀疑主题问题,更换官网自带主题,还是感叹号。
- 重新搭建一个wordpress,然后将域名绑过去,发现绿锁出现了,然后将主题打包到新wordpress后,依然是绿锁,搞了半天居然不是主题的问题??。。。
- 将新wordpress连接到本站数据库,然后万恶的感叹号再次出现。。。。(瞬间让我怀疑人生,最不应该出现问题的地方居然是数据!!!)
- 数据库中能有什么?无非就是字符串和图片,图片全是本站https连接,假如图片连接有问题我F12时早发现了,那么不是图片问题,又会是什么情况才会出现如此坑爹的事情?直到最后都没搞明白,若有人懂,请不惜赐教。
解决方法
最后继续漫长的百度搜索中,最终让我找到了https 安全锁有感叹号的快速解决办法,这个办法让我吐血!
原来我折腾一个晚上没解决的问题,其实只需要一行代码即可????我的人生???
解决方法一:
直接在html中添加下面的标注解释语句即可(第7行代码):
解决方法二:
在Apache、Nginx甚至是后端语言上,加上下面的header头即可:
header("Content-Security-Policy: upgrade-insecure-requests"); //未尝试
只要选择上面的其中一种解决方法进行操作即可完美解决https安全锁有感叹号的问题了。
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
谢谢,你拯救了好多人一个整晚的折腾
@007对你有帮助就好ing,
@Mr.Wu直接在html中添加下面的标注解释语句即可(第7行代码)中的这个html在哪里找?