前言

最近在检查旧网站的时候,发现有个站以前用一健配置脚本,配了https安全协议。但其实早过期了,脚本也失效了,一直嫌麻烦没再配置https。

以前都能用http开头访问的,但现在莫名其妙确访问不了,chrome浏览器老是自动把网址补成 https://开头再访问域名,导致访问失败。

试了很多方法,站长主要用的是chrome浏览器,不知怎么的就是要把http自动跳转https上,问题的关键是,这是强制性的,怎么搞都不行,非常上头。

具体表现就是:

我服务器现有配置,只支持http://www.doamin.com的解释访问,用 https://www.doamin.com访问会报错,无法访问。但浏览器就是一直自动跳转https加密协议进行访问,导致无法正常找开网页。

问题排除

  1. 清除缓存

    试过清除浏览器缓存的操作,没能解决自动跳转的问题。

  2. 用谷歌浏览器无痕模式

    网上查过,有可能是以前在谷歌浏览器中访问过留有记录,用无痕模式即可解决。但亲测痕发现还是一样会自动跳转

  3. 要关闭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,跳转以下设置页面

    浏览器设置:解决http链接自动跳转到https的问题

  • 2.拉到最下方,找到“Delete domain security policies”,在文本框中输入刚才访问错误出错的网站,delete即可。这里而要注意一下的就是,不要输入https://,只输出域名即可。
  • 重新测试打开网站,即可发现chrome的自动跳转问题已经得到解决,特定网站的HSTS功能已被禁止掉
以下三种浏览器的设置方法仅作备份,自测

Opera浏览器

和Chrome方法一样。

Safari浏览器

  • 1.完全关闭Safari浏览器。
  • 2.删除~/Library/Cookies/HSTS.plist这个文件。
  • 3.重新打开Safari即可(极少数情况下,可能需要重启系统)。

Firefox浏览器

  • 1.关闭所有已打开的页面。
  • 2.清空历史记录和缓存。
  • 3.地址栏输入about:permissions
  • 4.搜索项目域名,并点击Forget About This Site
文章目录