https网址不是绿色的,解决方法2018-03-09 14:04:55

( 还没有投票,继续加油! )
分享: ╬收藏
31.3K

https是建立安全的通信通道,需配置三方SSL证书(方法见前一篇文章)

https配置完成可以正确访问后还需要对源代码进行修改。

通常拿网站首页做实验,虽然能访问了,但是打开控制台后发现,提示了一堆类似如下内容:

Mixed Content: The page at 'https://mydomain.com' was loaded over HTTPS, but requested an insecure script 'http://mydomain/js/test.js'. This request has been blocked; the content must be served over HTTPS.

类似上面这种Mixed content,故名思意,安全加密页面采用混合非加密通信成份,是不合规的,所以无法将https显示为安全的

切换到security界面,会提示非安全原因,三种:混合内容、可信证书、安全链接

https网址不是绿色的,解决方法

如果是其他原因,比如证书不安全,需要更换证书。

下面我们来解决混合内容问题:

首先打文件源码,查找http://全部将其替换为https,这里要说一下,是要全站替换还是单页面支持https,如果是全站替换,就需要全部转换为https

否则,只需要替换资源文件请求链接,而不是跳转链接(a)!!!

比如只替换http://domain.com/js/test.js将这个js资源替换为https的,直接改就可以

当然这只是其中之一,同理,css的资源也需要修改,图片的资源也需要修改(例:http://domain.com/images/test.jpg)

要知道的是,相对路径的资源内容不需要修改(例:src="//images/test.jpg")

当本页面都替换完了以后,有个要注意的地方:

还需要替换本页引用了的js\css里面的资源文件,需要一下个打开,在里面查找http内容进行替换

唯一可能有问题的地方是,如果这个css或js也被其他非https页面引用了,将也会以https方式进行调用,因为内容被改了嘛。

一般来说这块问题不大,如果可以测试看看,运行正常的话就可以,但是如果你的证书出问题了,可能影响不是一个页面,这要心里有数。

都改完了以后,再去控制台下面看看Mixed content,如果还有提示,console中查看资源名称,一般看到名称心里就有数,直接去找那个资源进行https链接转换。

这个地方可能有个坑,通常来讲,对服务器的css或js更新,常受缓存困扰,一般的做法是调用js的时候,在尾部加个参数,比如test.js?id=123改过上传以后改为124,只要页面链接改变就会立马加载最新的,这个操作可以规避缓存困扰,别改了半天没反应,一直改,要时刻注意缓存影响。

当你把Mixed content都改完了以后,就应该提示绿色https网址了,点开看一眼吧!


https网址不是绿色的,解决方法

祝你成功!






头像

snowcoal
  • https
  • ssl
  • 绿色网址

本文标签:

httpsssl绿色网址

收藏到我的私密空间

标题:https网址不是绿色的,解决方法

作者:花花世界

你暂未登录,请登录后才可收藏至您的私密空间 确认取消
雪炭网

键盘操作 更便捷 -雪炭网雪中送炭-乐趣无限