解决浏览器自动将http跳转至https导致无法访问的问题

以下只针对Chrome浏览器
方法一:

    1.地址栏中输入chrome://net-internals/#hsts。

    2.在Delete domain中输入项目的域名,并Delete(删除)

    3.可以在Query domain测试是否删除成功。

HSTS全称:HTTP Strict Transport Security,意译:HTTP严格传输安全,是一个Web安全策略机制。

HSTS 是一种强制浏览器只能通过 HTTPS 访问某个域名的 URL 的协议,它可以防止中间人攻击,提高数据传输的安全性。

当第一次访问某个域名的 HTTP URL 时,服务器会返回一个 301 或者 302 状态码,并在 Location 头部指定该 URL 的 HTTPS 版本,让浏览器重定向到 HTTPS URL。

同时,服务器还会在响应头部添加一个名为 Strict-Transport-Security 的字段,它包含了 HSTS 的过期时间和其他选项。

浏览器收到响应后,会将该域名和 HSTS 的信息保存在本地缓存中,并按照 Location 头部的指示跳转到 HTTPS URL。

之后,再次访问该域名的 HTTP URL 时,浏览器会先检查本地缓存中是否有 HSTS 的记录,并且是否在有效期内。如果有,浏览器会直接将 HTTP URL 转换为 HTTPS URL,并发起 HTTPS 请求。

如果没有,浏览器会正常发起 HTTP 请求,并重复上述步骤。

除了服务器端发送HSTS头部的方式外,还有一种方式是浏览器预置HSTS名单,即浏览器内置了一些已经启用HSTS的域名列表,当访问这些域名的HTTP URL时,浏览器会直接转换为HTTPS URL,并不需要服务器端返回HSTS头部。

方法二:

  1. 打开Chrome浏览器

  2. 在地址栏中输入“chrome://flags/”并按下回车键

  3. 在搜索框中输入“自动重新加载恢复点”,然后找到该选项,并选择“禁用”

  4. 或找到 HTTPS Upgrades,设置为disabled,重启Chrome浏览器即可 

方法三:

    1.进入谷歌的:设置--->隐私和安全--->安全--->找到:一律使用安全连接。

    2.把一律使用安全连接调到关闭状态。

    3.然后刷新谷歌浏览器,再次用http访问,查看是否成功。

方法四:

使用URL Rule插件

链接https://chrome.google.com/webstore/detail/url-rule/enfdapnpdfpgjamddpkdfliienniaimb?hl=zh-CN&authuser=0

或者在这下载https://download.csdn.net/download/chenggqq/88518523

插件内输入网址也需要去掉http://前缀的网址,如:baidu.com

将网址输入进插件之后,同样需要清除浏览器缓存,关掉浏览器之后重新打开。


针对不同的版本,可能会有不同的影响,看看哪个方法能够解决问题,试一试便可知晓。

你可能感兴趣的:(http,https,网络协议)