使用 PRELOAD 设置的 Firefox 和 Chrome 中清除 HSTS 标志的工作方式

问题描述 投票:0回答:1

我开发的网页打开了HSTS。现在我想摆脱它。互联网上有很多方法,但没有一个适合我。

我试过了

https://msutexas.edu/library/clearhsts.php#chrome-hdg-0
http://classically.me/blogs/how-clear-hsts-settings-major-browsers/

Mozilla 论坛(很痛苦)和其他

在 Firefox 中:我确实忘记了该网站。我清理了整个历史。

在 Chrome 中,我尝试使用新的配置文件,我尝试了

chrome://net-internals/#hsts
,但有关于预加载条目的注释:enter image description here

我理解 HSTS 的动机,但现在我需要它消失。

编辑:

我尝试了一切,但没有任何效果。我检查了我的网站没有发送任何 HSTS 标头(使用空 nginx)。作为最后的手段,我使用 live linux 来重新启动,然后我再次获得了 HSTS。

enter image description here

很明显,一定有一个在浏览器之间共享的 HSTS 站点列表,然后我终于找到了

https://hstspreload.org/
,这解释了很多。

我的网站从 cloudflare.com 代理注入了 HSTS。我不记得如何设置预加载标志,但它就在那里。现在我只能从 chrome 中使用“thisisinsecure”访问该网站。

导入自签名证书不起作用。我生成了一个具有正确公用名的证书,但 Firefox 仍然显示“该证书不受信任,因为它是自签名的”。它应该是可信的,因为它是我生成的。

At least the choice should be mine.

设置

max-age=0
不起作用,我想是因为证书本身不可信

我会尝试导入证书权限

google-chrome firefox hsts
1个回答
3
投票

看来这个答案有你所需要的 - 至少对于谷歌浏览器来说。

您的问题是您的网站似乎正在发送 Strict-Transport-Security 标头,该标头将被缓存。

或者,您可以更改正在开发的站点,并向 HSTS 标头添加 max-age 指令 0,以便标头立即过期。这将从访问该站点的任何浏览器的缓存中删除标头。然后,您可以从解决方案中删除标头以永久禁用它。

编辑:Chrome 现在似乎为此提供了一个不错的 UI,允许您检查并删除 HSTS 缓存中的项目 - 在浏览器中输入

chrome://net-internals/#hsts

Firefox 有不同的方法,您需要

  • 关闭 Firefox 的所有实例,并打开一个新的 Firefox 窗口
  • 打开历史视图
  • 右键单击项目列表中的站点,然后单击“忘记此站点” - 这应该会清除该域的 HSTS 设置(和其他缓存数据)
  • 重新启动 Firefox 并访问该网站

编辑 2:如果这不起作用,您可以按照本文所述删除 HSTS 密钥文件 - 下面重复关键说明

Firefox 手动方法

首先通过操作系统的文件资源管理器找到您的 Firefox 配置文件文件夹。您可以通过 Firefox 导航至 about:support

找到此文件夹

在页面中间的“应用程序基础知识”部分中,您将看到配置文件文件夹。单击“打开文件夹”。

现在关闭 Firefox,以便浏览器不会覆盖我们要更改的任何设置。

在您的“个人资料”文件夹中找到并打开文件 SiteSecurityServiceState.txt。此文件包含您访问过的域的缓存 HSTS 和 HPKP(密钥锁定,一种单独的 HTTPS 机制)设置。它可能非常混乱。 搜索要清除 HSTS 设置的域并将其从文件中删除。每个条目都以域名开头。删除从所需域名开头到下一个列出的域的整个条目。

作为替代方案,您可以将现有文件从 .txt 重命名为 .bak(为了保存现有文件,以防万一)并允许 Firefox 在下次启动时创建一个全新的文件。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.