Safari浏览器如何修复由于Strict-Transport-Security导致的HSTS重定向循环?
有没有遇到过这种情况:在 Safari 里输入 http://dev.local,结果浏览器瞬间跳到了 https://,而且开发者工具 Network 面板里空空如也,连个请求记录都没有?这不是网络故障,也不是服务器在搞鬼——其实是 HSTS 策略在浏览器底层直接拦截了 HTTP 请求,根本不给你
有没有遇到过这种情况:在 Safari 里输入 http://dev.local,结果浏览器瞬间跳到了 https://,而且开发者工具 Network 面板里空空如也,连个请求记录都没有?这不是网络故障,也不是服务器在搞鬼——其实是 HSTS 策略在浏览器底层直接拦截了 HTTP 请求,根本不给你发出去的机会。你连调试的起点都找不到,干着急没用。

更具体地说,当你输入 http://dev.local,该地址根本没有 HTTPS 服务,证书无效或者直接报“连接已重置”。但 Safari 因为之前访问过该域名的 HTTPS 版本,已经把 HSTS 策略固化在本地了。从此以后,所有 HTTP 请求都被强制升级到 HTTPS——连一个 HTTP 包都不会发出去。所以 Network 面板里空空如也,你连调试起点都没有。
确认确实是 HSTS 导致的跳转
怎么确定是 HSTS 在作祟?很简单:在 Safari 地址栏输入 http://your-domain.com,然后观察地址栏。如果 URL 还没开始加载就已经变成了 https://,而且开发者工具 Network 面板里没有任何请求记录,那基本就可以锁定了。注意,服务器 301 重定向会在 Network 中显示状态码,而 HSTS 跳转发生在浏览器网络栈最底层,完全绕过了 HTTP 层——所以你连一个请求都看不到。
通过终端删除全局 HSTS.plist 文件(macOS 根治法)
这个方法比较彻底——直接删除 Safari 存储 HSTS 策略的唯一数据库文件,所有被记录的域名都会立即解除 HTTPS 强制锁定。操作前一定要完全退出 Safari:打开“活动监视器”,搜索 Safari,确认没有残留进程;如果有,选中后点击顶部“X”强制退出。
然后打开“终端”应用,粘贴并执行以下命令:sudo rm -f ~/Library/Cookies/HSTS.plist
输入当前用户管理员密码(输入过程无任何字符反馈,属正常现象),按回车。此操作不可逆,删除后所有启用过 HSTS 的域名都将失去强制 HTTPS 保护。
最后重新启动 Safari,再次访问 http://your-domain.com 测试是否还跳转。
精准清除单个域名的 HSTS 记录(macOS/iOS 通用)
如果你只想恢复某一个开发域名(比如 test.local、admin.dev)的 HTTP 访问,不想影响其他生产网站的安全策略,可以用这个精准的方法。
方法一:管理网站数据
在 macOS 上:Safari → 设置 → 隐私 → 点击“管理网站数据…”;在 iOS 上:设置 → Safari 浏览器 → 高级 → 网站数据。在搜索框中输入目标域名,注意不要带 http:// 或 https://。找到对应条目后,确认它的“最后访问时间”与你最近一次访问该站点的时间吻合——这样可以避免误删其他正常网站的数据。点击右侧“移除”按钮;如果该域名有多个子域(比如 www.test.local 和 api.test.local),按住 Command 键(macOS)或多点选中(iOS)后选择“全部移除”。
一键清空全部 HSTS 及关联数据(全平台覆盖)
如果异常影响范围很广,你无法精确定位具体域名,或者怀疑跨域污染导致跳转链混乱,那就用这个法子彻底重置 Safari 的本地状态。
在 macOS 上:Safari 菜单栏 → 历史记录 → 清除历史记录… → 时间范围选“所有历史记录” → 勾选“Cookie 与网站数据” → 点击“清除历史记录”。
在 iOS/iPadOS 上:设置 → Safari 浏览器 → 向下滚动并点击红色字体的“清除历史记录与网站数据” → 再次点击弹窗中的“清除历史记录与网站数据”执行操作。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















