本文将详细讨论使用Chrome浏览器时,如何取消Dynamic HSTS Policy导致的HTTP网站错误跳转至HTTPS。我们将重点分析Dynamic HSTS Policy的作用及如何解决这个问题。
问题描述
一个网站,之前在Chrome浏览器上访问过它,当时这个网站设置的是全站HTTPS访问。现在取消了HTTPS功能,用Chrome浏览器重新访问这个网站,发现它仍然跳转到HTTPS而不是访问HTTP网页。使用没有访问过之前设置的全站HTTPS时候的浏览器,却能够正常跳转到HTTP。
Dynamic HSTS Policy及其作用
Dynamic HSTS Policy是一种安全协议,用于在网站服务和客户端之间建立安全信任。HTTP Strict Transport Security(HSTS)是建立安全HTTP连接的方法,它会为所有HTTP请求设置高级传输安全协议(HTTPS),从而提高了安全性和隐私性。Dynamic HSTS Policy为网站提供了一种在运行时根据上下文适应的HSTS策略。
当浏览器接收到包含HSTS信息的STSTrack响应时,它会将这些信息存储在本地。接下来的一段时间内,浏览器将强制使用HTTPS来访问该网站。在这段时间内,即使尝试访问该网站的HTTP版本,浏览器将自动将请求转发到HTTPS版本。
解决方案
要解决这个问题,您可以尝试以下方法:
-
查询网站的HSTS缓存记录:
在Chrome中,访问
chrome://net-internals/#hsts
在Query HSTS/PKP domain输入你的域名,点击Query,如果出现dynamic_upgrade_mode: FORCE_HTTPS说明可能是HSTS导致。
其有效期由如下的时间戳格式表示。
dynamic_sts_observed: 1676356785.329626
dynamic_sts_expiry: 1707892785.329619 -
清除浏览器的HSTS缓存:在"Delete domain security policies"部分输入您的网站域名,然后点击"Delete"按钮。
-
在服务器端,确保已经移除相关的HSTS响应头。这将阻止浏览器在将来访问该网站时再次收到HSTS策略。
-
使用一个私人窗口或不同的浏览器来访问该网站,以避免可能受HSTS策略影响的浏览器。
总结
在本文中,我们讨论了在使用Chrome浏览器时,如何取消Dynamic HSTS Policy导致的HTTP网站错误跳转至HTTPS。我们重点分析了Dynamic HSTS Policy的作用及如何解决这个问题。当您遇到类似问题时,希望这篇文章能够帮助您找到解决方案。