解决由于 前端启用 HSTS 导致的老旧 HTTP 监控接口无法正常访问的业务隔离重构

千明酱_4783

千明酱_4783

2026-06-02

329人浏览

原创

hsts问题本质是服务端下发策略被浏览器缓存,导致http请求未发出即被拦截;验证需查chrome://net-internals及curl测试;最优解为监控接口域名隔离,次选服务端路径级豁免或客户端适配。

解决由于 前端启用 hsts 导致的老旧 http 监控接口无法正常访问的业务隔离重构

这个问题核心不是“前端启用HSTS”,而是HSTS策略已由服务端(如Nginx、ESA、Ingress或IIS)下发并被浏览器持久化记录,导致所有对该域名的HTTP请求(包括监控探针、脚本curl、旧版健康检查接口)被浏览器或客户端主动拦截——它根本没发出去,自然无法到达后端服务。

确认是否真由HSTS引发

老旧监控接口若通过浏览器访问才报错(如“您目前无法访问,因为此网站使用了 HSTS”),而用curl -I http://xxx 或Postman直连HTTP仍能通,则说明问题出在浏览器端HSTS缓存;若curl也失败(返回空响应、连接重置或直接跳转失败),需排查服务端是否配置了强制HTTP→HTTPS重定向,而非HSTS本身。

快速验证步骤:

  • 在Chrome中访问 chrome://net-internals/#hsts → “Query domain”输入监控域名 → 若显示Found,即已生效
  • 用 curl -I http://monitor.example.com 观察是否301跳转到HTTPS;若有,说明服务端重定向仍在运行
  • 用 curl -I https://monitor.example.com 查看响应头是否含 Strict-Transport-Security

业务隔离:为监控接口分配独立域名或路径

HSTS作用域基于域名(+ includeSubDomains),不按路径区分。因此最稳妥的解法是让监控接口脱离主站域名体系:

Jan
Jan

Jan是一款AI大模型工具,本地运行大模型并进行AI对话的工具,免费开源。

下载
  • 新增专用子域,如 health.example.com 或 probe.example.com,该域名不启用HSTS,也不配置HTTPS重定向
  • Nginx中为该子域单独配置server块,禁用add_header Strict-Transport-Security,并关闭return 301 https://…
  • 若受限于DNS或运维规范,可改用路径前缀(如 /api/health),但需配合反向代理做路由剥离,并确保该路径不被HSTS策略覆盖(注意:HSTS不识别路径,仅靠域名隔离)

服务端精准关闭HSTS(非全局停用)

不必停掉整个站点的HSTS,只需对监控相关入口点“豁免”:

  • Nginx中,针对监控location块,用 add_header Strict-Transport-Security "" always; 清空该路径的HSTS头
  • Kubernetes Ingress中,若使用Nginx Ingress Controller,可通过注解 nginx.ingress.kubernetes.io/configuration-snippet 注入 header清除逻辑
  • ESA边缘平台可在“规则引擎”中设置条件策略:当请求路径匹配 /healthz 或 /ping 时,不插入HSTS头

客户端侧兼容处理(临时兜底)

对无法立即改造的第三方监控系统(如Zabbix、Prometheus黑盒探针),可做如下适配:

  • 将HTTP探针目标改为HTTPS,并配置跳过证书校验(如curl -k)——仅限内网可信环境
  • 若探针支持自定义User-Agent,可添加特殊标识,在Nginx中识别后返回200 + 空内容,绕过HSTS逻辑(因HSTS只影响浏览器,不影响curl等工具行为)
  • 对必须走HTTP的老系统,部署轻量级反向代理(如Caddy),监听HTTP端口,转发至HTTPS后端,自身不发HSTS头

重构重点不在“怎么关HSTS”,而在“让监控流量不进HSTS作用域”。域名隔离是最干净、可审计、易回滚的方式;服务端路径级豁免适合灰度过渡;客户端适配仅作短期缓冲。三者可组合使用,但避免依赖浏览器手动清理HSTS记录——它不可控、不一致、无法批量管理。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2463

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5283

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6350

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5918

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

843

5

Python uv使用教程
Python uv使用教程

本专题汇总了 Python uv 使用教程与高效使用指南,从 uv 安装配置、常用命令到虚拟环境、依赖管理与项目打包,系统讲解如何用 uv 替代 pip 与 poetry,全面提升 Python 项目开发效率,助你快速上手这一现代化包管理工具,打造干净高效的 Python 工作流。

2026.10.15

0

15

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习