前言
最近在检查旧网站的时候,发现有个站以前用一健配置脚本,配了https安全协议。但其实早过期了,脚本也失效了,一直嫌麻烦没再配置https。
以前都能用http
开头访问的,但现在莫名其妙确访问不了,chrome浏览器老是自动把网址补成 https://开头再访问域名,导致访问失败。
试了很多方法,站长主要用的是chrome浏览器,不知怎么的就是要把http自动跳转https上,问题的关键是,这是强制性的,怎么搞都不行,非常上头。
具体表现就是:
我服务器现有配置,只支持http://www.doamin.com的解释访问,用 https://www.doamin.com访问会报错,无法访问。但浏览器就是一直自动跳转https加密协议进行访问,导致无法正常找开网页。
问题排除
- 清除缓存:
试过清除浏览器缓存的操作,没能解决自动跳转的问题。
- 用谷歌浏览器无痕模式:
网上查过,有可能是以前在谷歌浏览器中访问过留有记录,用无痕模式即可解决。但亲测痕发现还是一样会自动跳转。
- 要关闭HSTS功能:
这个在Chrome浏览器中测试过成功,原理没深究,能解决问题就行
以下是网站查来的关于HSTS功能的说明:
浏览器的HSTS(HTTP Strict Transport Security),通常会在安装配置SSL证书时,可以使用一种能使数据传输更加安全的Web安全协议。即在服务器端上开启HSTS ,它会告诉浏览器只能通过HTTPS访问,而绝对禁止HTTP方式。
也许就这原因,单纯清除浏览器缓存,或者开无痕模式,Chrome还是会自动跳转https,因为这是浏览器设置的问题。
解决自动跳转办法
那么思路就很清晰了,禁止chrome自动跳转https问题的核心是关闭问题浏览器HSTS功能。
前面也提过,经过一翻搜索并测试,确实在chrome中关闭指定网站的HSTS功能,就能正常访问http开头的网站了,并不会再自动跳转https,方法也很简单。但重要事情说三遍:
- “这是针对特定网站的设定!”
- “这是针对特定网站的设定!”
- “这是针对特定网站的设定!”
而且设定并非一劳永逸。
以下几种浏览器的关闭方法都是从网站收集的,备份一下。
站长只亲测了谷歌浏览器,其他浏览器请自行测试。
Chrome浏览器关闭网站HSTS功能(亲测)
- 1.地址栏直接输入:
chrome://net-internals/#hsts
,跳转以下设置页面 - 2.拉到最下方,找到
“Delete domain security policies”
,在文本框中输入刚才访问错误出错的网站,delete即可。这里而要注意一下的就是,不要输入https://
,只输出域名即可。 - 重新测试打开网站,即可发现chrome的自动跳转问题已经得到解决,特定网站的HSTS功能已被禁止掉。