Chrome下强制http重定向到https的问题

2018-7-3 chenmo 电脑网络

问题:

Chrome会强制将http重定向到https,就算是在浏览器手动输入http://xxx也不可以。

 

解决方案:

1. 在chrome的地址栏输入chrome://net-internals/#hsts,在Query HSTS/PKP domain中查询指定的域是否有HSTS记录,如果存在,在Delete domain security policies中删除该域即可。
2. 如果完成第一步后仍不能访问,可以尝试清除浏览器缓存。

 google-htst.jpg

原因:

要解释上述情况产生的原因,则必须要先了解浏览器的HSTS功能。

HSTS强制要求浏览器与服务器进行HTTPS通信,例如,如果example.com站点开启了HSTS,则不管是在浏览器输入example.com或是http://example.com,亦或者在网页上点击http://example.com链接,浏览器都会自动将http替换为https,然后再发送请求。这样很大程度上避免了SSL剥离攻击的发生。

SSL剥离攻击其实是中间人攻击的一种,它基于用户很少直接在浏览器中输入https或者是用户经常通过重定向从http跳转到https,这样攻击者可以在用户访问http页面时替换所有的https开头的链接来阻止浏览器和服务器建立HTTPS连接。

之所以说是一定程度上避免,而不是完全避免,是因为HSTS也存在一定的漏洞,这个漏洞就是HSTS的开启方式。浏览器如果探测到一个https请求的response头部包含Strict-Transport-Security,则会为该站点开启HSTS功能。这意味每个站点的第一次请求仍有被攻击可能,所以大多数浏览器都会在本地维护一个HSTS域名列表,该列表默认会包含一些经常访问的域名,并且,在访问https站点时,也会将该站点添加到HSTS列表中。所以说,当用https访问过一个站点后,即使用http再次访问该站点,浏览器也会用https,而解决方法就是将该域名从HSTS列表中删除。

标签: google https

评论(0) 浏览(178)

全站开启SSL

2017-7-14 chenmo 威言威语

眼看SSL流行,为了提升下B格,也特意去申请个证书玩玩。好在我的虚拟主机支持开启SSL功能。

ssl.jpg

 

为了能在地址栏显示个绿标,一开始以为是申请的塞铁门证书有问题,后来又换去腾讯申请GeoTrust DV SSL证书,发现还是没解决问题。

最后才发现,原来是引用的资源也必须要带S的。

直接审查元素,在console就可找到是哪些资源有问题。

 

重新把分享、评论等都换成https链接。最后还有每篇文章里的图片,想了个方法去SQL里直接替换吧。

UPDATE emlog_blog SET content = replace(content,'http://cmsblog.cn','https://cmsblog.cn');

 

ssl3.jpg

标签: SSL https

评论(0) 浏览(361)

Powered by emlog 湘ICP备13007859号 空间由景安网络赞助