最近在宝塔面板申请免费的SSL证书后,部署证书的80端口下的网站可以通过https正常访问,但其他未部署证书的端口也被强制跳转至https请求,导致浏览器提示不安全从而无法访问。宝塔的8888端口也不能访问,当时那是一个慌。。
当我尝试了各种方法,如重新放行443端口、重新配置nginx反向代理、重启服务器……在我正像个无头苍蝇乱撞时,偶然发现通过无痕浏览模式也可以正常使用,才隐隐感觉到是浏览器的问题。找对方向后,得出主要关闭浏览器的**HSTS**功能就可以了!
HTTP Strict Transport Security (HSTS) is an opt-in security enhancement that is specified by a web application through the use of a special response header.
Once a supported browser receives this header that browser will** prevent any communications from being sent over HTTP to the specified domain and will instead send all communications over HTTPS. **
It also prevents HTTPS click through prompts on browsers.
在安装配置SSL证书时,可以使用一种能使数据传输更加安全的Web安全协议,即在服务器端上开启HSTS ,它会告诉浏览器只能通过HTTPS访问,而绝对禁止HTTP方式。
因此,只要关闭浏览器的HSTS功能就可以解决这个问题,但是只能通过特定的方式,而不是清除浏览器缓存那么简单。
解决方式
Chrome浏览器
1.地址栏中输入chrome://net-internals/#hsts。
2.在Delete domain中输入项目的域名,并Delete(删除)
。
3.可以在Query domain测试是否删除成功。
Safari浏览器
1.完全关闭Safari浏览器。
2.删除~/Library/Cookies/HSTS.plist这个文件。
3.重新打开Safari即可(极少数情况下,可能需要重启系统)。
Firefox浏览器
1.关闭所有已打开的页面。
2.清空历史记录和缓存。
3.地址栏输入about:permissions。
4.搜索项目域名,并点击Forget About This Site。
Edge浏览器
下面看下解决Edge浏览器http链接自动跳转到https的问题(亲自尝试
起初,当我发现无痕模式可行后,尝试清理浏览器缓存,结果依旧是失败的,还是需要进行如下操作,
在Edge浏览器地址输入:
edge://net-internals/#hsts

在最下面的**
Delete domain security policies
**里输入想要删除的网址
** 注意是去掉http://前缀的网址!**
版权归原作者 多喝氧烷_ 所有, 如有侵权,请联系我们删除。