如何清除Firefox和Chrome中设置了PRELOAD的HSTS标志?
解决HSTS预加载标记与Firefox自签名证书信任问题
一、HSTS预加载标记的处理
站点被Cloudflare注入preload标记后,会进入浏览器内置的HSTS预加载列表,这种情况下常规的本地清除操作(如Chrome的chrome://net-internals/#hsts删除、Firefox清除历史/站点遗忘)完全无效——因为预加载规则是浏览器出厂时内置的,不存储在用户本地。
临时访问方案
Chrome中可在证书错误页面直接输入thisisunsafe(连续无空格字符串),强制绕过证书验证访问站点,这仅为临时应急手段。
长期解决步骤
- 移除
preload标记:通过临时访问方式或直接在Cloudflare控制台修改配置,确保站点的HSTS响应头不再包含preload参数,同时设置max-age=0(用于清除后续用户本地的HSTS缓存)。 - 申请从预加载列表移除:向HSTS预加载列表官方提交移除请求(需先确保站点已停止发送
preload头),等待各浏览器版本更新后,预加载规则才会从浏览器中移除,这个过程通常需要数周甚至数月。 - 开发环境临时绕开:如果是本地开发场景,可修改本地
hosts文件,将域名指向本地服务器IP,绕开Cloudflare代理,这样就不会触发预加载的HSTS规则。
二、Firefox自签名证书信任配置
你之前生成的自签名证书仅匹配通用名称但仍不被信任,是因为Firefox不信任单个自签名证书,需要通过导入自定义CA证书的方式解决:
- 生成自定义CA证书,并用该CA签发你的站点证书(确保站点证书的域名与访问域名完全匹配)。
- 打开Firefox,进入「设置」→「隐私与安全」,下拉到「证书」区域,点击「查看证书」。
- 在弹出的窗口中切换到「证书机构」标签,点击「导入」,选择你的自定义CA证书文件。
- 在导入弹窗中勾选「信任由此证书机构标识的网站」,完成导入操作。
- 重新访问站点,Firefox会信任由该CA签发的证书,此时页面能正常加载,
max-age=0的HSTS头也会生效,清除本地的HSTS缓存(但预加载列表的规则仍需等待官方移除)。
内容的提问来源于stack exchange,提问作者Pavel Niedoba
相关产品推荐
相关产品推荐

