撤销/禁用 HTTP 严格传输安全

撤销/禁用 HTTP 严格传输安全

如何撤销 HSTS 标头信息?

我有一个网站,想从 HTTPS 迁移到 HTTP。

我重新配置了 Apache2,使其仅提供 HTTP 服务。不幸的是,Chrome 和 Firefox 仍然会自动尝试打开 HTTPS 版本的页面。

我认为这是因为之前的配置似乎仍然有效。

<VirtualHost *:443>
...
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
...
</VirtualHost>

答案1

HSTS 标头的理念是,每个访问页面的客户端都应在本地存储以下信息:“直到时间 ([now]+[max-age] 秒),此网站应仅使用 HTTPS 访问”。其目的是阻止试图让客户端使用未加密连接的中间人攻击。

因此,任何服务器端尝试将客户端重定向到曾经具有未过期 HSTS 标头的 HTTP 版本页面的行为都可能向用户产生可怕的警告消息。避免这种情况的唯一方法(除了等待指定的 HSTS 期限到期)是从使用 HSTS 标头期间访问过该网站的任何客户端中删除存储的 HSTS 信息。

以下是针对 Chrome 和 Firefox 的此过程的说明。

Chrome 说明

导航至:chrome://net-internals/#hsts

然后在“查询域”框中输入您网站的完全限定名称,点击查询按钮并验证 HSTS 信息是否存在。然后在“删除域安全策略”部分中输入相同的名称并点击删除。

Firefox 说明

关闭所有打开的标签,然后打开完整历史记录窗口(在 Windows/Linux 上按 Control-Shift-H,在 Mac 上按 Command-Shift-H,或者从菜单栏中选择历史记录 -> 显示所有历史记录(如果可见)。找到该网站,右键单击它并选择忘记此网站。

如果你需要一种可以自动化的方法,你也可以编辑 Firefox 配置文件目录中的 SiteSecurityServiceState.txt 文件当 Firefox 未运行时。您使用的编辑器应使用 Unix/Linux 样式的行尾。找到以 开头的行<fully-qualified name of your site>:HSTS并将其删除。

相关内容