详细介绍:Chrome HSTS(HTTP Strict Transport Security)

如果你访问 http:// 的网址, 被浏览器强制转换成 https:// 而导致出发安全警告, 无法访问. 可以看看以下的方法.

✅ 什么是 HSTS?

HSTS (HTTP Strict Transport Security) 是一种安全机制,用来强制浏览器只能通过 HTTPS 访问网站,不能通过 HTTP 明文访问。
如果网站开启了 HSTS,浏览器会在一定时间内记住:“只能访问 HTTPS”。

例如,访问过 https://example.com 后,如果开启 HSTS:
• 下次即使输入 http://example.com
• 浏览器也会自动转成 https://example.com


✅ Chrome HSTS 缓存位置

Chrome 会把 HSTS 缓存存储在内部数据库中。

如果某个站点错误配置了 HSTS,可能会出现:
• 网站打不开(因为强制跳转 https)
• 证书失效导致无法访问,甚至无法绕过安全提示


如何清除 Chrome 中的 HSTS 记录?

⚠️ 重点:清理 HSTS 缓存 不是清除浏览器缓存/历史就能解决的,需要走以下步骤。

方法 1:使用 Chrome 内置工具

  1. 在 Chrome 地址栏输入:
chrome://net-internals/#hsts
  1. 找到 Query HSTS/PKP domain
    • 输入你的网站域名,点 “Query”
    • 可以看到是否设置了 HSTS 相关状态
  2. 找到 Delete domain security policies (注意, 删除的是根域名, 否则无效)
    • 输入你的网站域名,点击 Delete

这样即可清除 HSTS 记录。


方法 2:清空整个网络缓存

访问:

chrome://net-internals/#events

点击右上角 “Clear host cache”


❓ 无法访问网站(ERR_CERT_INVALID / ERR_SSL_PROTOCOL_ERROR)

若遇到类似错误:

ERR_CERT_AUTHORITY_INVALID
ERR_SSL_PROTOCOL_ERROR

可能是:
• 域名绑定 HSTS,但证书过期
• 本地保存的 HSTS 状态导致无法继续访问

解决:按照上面 chrome://net-internals/#hsts → Delete domain security policies 清除。


HSTS preload(预加载)注意事项

某些网站会使用:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

加上 preload 就会加入 Chrome 内置 HSTS 列表,即使你没访问过这个网站,Chrome 也会强制 HTTPS。

这种情况 本地删除无效,恢复极困难,需要在 hstspreload.org 申请删除。


简单总结

场景解决办法
浏览器本地记住 HSTS 导致打不开chrome://net-internals/#hsts 删除 domain
Chrome 强制 HTTPS 且无法恢复如果网站在 preload 列表,需要去 hstspreload.org 处理
清除 DNS + HSTSchrome://net-internals/#events → Clear host cache

在这里插入图片描述

posted @ 2025-12-11 22:54  yangykaifa  阅读(9)  评论(0)    收藏  举报