浏览器http自动跳转到https的解决方案

最近在做网站时,遇到了一个问题,目前主流浏览器当同时开通了http与https时,默认会将http自动跳转到https。会产出一些问题,例如在未合理配置的情况下导致了http页面请求https的内容时,反之也一样,会出现跨域或者请求失败的情况。
当关闭https后,可能因为浏览器缓存等原因导致http还是会继续跳转到https导致请求错误。

下面是解决其强制自动跳转的方法

chrome浏览器/类chrome浏览器/Opera

打开网址 chrome://net-internals/#hsts 后,在Query HSTS/PKP domain可以查询域名,如果查询对应域名有结果,说明会被强制跳转。那么可以在Delete domain security policies将其删掉。删掉后重新使用http打开域名正常。

Safari浏览器

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

Firefox浏览器

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

最佳实践

在防止http请求https的内容或者相反情况下时,推荐使用//www.baidu.com的链接方式代替http://www.baidu.com或者https://www.baidu.com,这样会根据浏览器打开的地址自动判断是使用http还是https。

强烈建议网站开通https,这样更安全。

此处评论已关闭