首页/安全/漏洞与攻击面速查/HSTS 强制 HTTPS 传输
Web 漏洞原理与防护55 条

HSTS 强制 HTTPS 传输

HSTS 让浏览器在指定时间内强制使用 HTTPS 访问站点,缓解 SSL 剥离与降级;上线前提是 HTTPS 已稳定可用,建议从小 max-age 起步逐步加长,并评估子域覆盖。

漏洞与攻击面速查安全更新于 2026-10-12

Nginx 配置示例

Nginx 配置示例
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# 首次部署建议 max-age=300 观察一段时间,再逐步提高

要点

要点
HTTP 入口保持 301/308 跳转到 HTTPS
includeSubDomains 之前确认所有子域都支持 HTTPS
preload 列表申请条件严格,评估后再操作
一旦下发长期 HSTS,回退 HTTPS 会造成一段时间内全站不可访问;变更 HTTPS 前先做规划。

易错点

  • 内部子域还有 HTTP 服务时就加 includeSubDomains:会把内部系统一起推向不可访问状态

数据来源与参考

  • RFC 6797(HSTS)
  • MDN Strict-Transport-Security 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌