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 地址栏输入:
sh 复制代码
chrome://net-internals/#hsts
  1. 找到 Query HSTS/PKP domain
    • 输入你的网站域名,点 "Query"
    • 可以看到是否设置了 HSTS 相关状态
  2. 找到 Delete domain security policies (注意, 删除的是根域名, 否则无效 )
    • 输入你的网站域名,点击 Delete

这样即可清除 HSTS 记录。


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

访问:

sh 复制代码
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(预加载)注意事项

某些网站会使用:

sh 复制代码
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 + HSTS chrome://net-internals/#events → Clear host cache
相关推荐
进击的野人2 小时前
JavaScript DOM操作与事件处理:从小兔鲜儿电商网站看现代前端开发实践
前端·javascript
神秘的猪头2 小时前
JavaScript 数据结构入门:从数组开始掌握核心概念
前端·javascript
倚栏听风雨2 小时前
Gemini工程的入口文件和方法是那个
前端
over6972 小时前
CSS定位全解析:从文档流到高级布局技巧
前端·css·面试
神秘的猪头2 小时前
CSS 定位详解与实战:掌握position的各种取值与css变量
前端·javascript
申阳2 小时前
Day 9:07. 基于Nuxt开发博客项目-工具箱整理
前端·后端·程序员
前端加油站2 小时前
透过现象看本质:CRUD系统的架构设计
前端·javascript
Mintopia2 小时前
☁️ Cloud Code 模型演进的优势:从“本地编译”到“云端智能协作”
前端·人工智能·aigc
njnu@liyong3 小时前
HTTP-发展史
网络·网络协议·http