首页/安全/加密与证书速查/HSTS 严格传输安全响应头(Strict-Transport-Security)
TLS 与 HTTPS60 条

HSTS 严格传输安全响应头(Strict-Transport-Security)

服务端通过响应头声明在未来一段时间内只允许 HTTPS 访问(可选覆盖子域),浏览器据此把站内 HTTP 链接自动改写为 HTTPS,用于防降级与 Cookie 泄露。

加密与证书速查安全更新于 2026-10-12
响应头Strict-Transport-Security: max-age=31536000; includeSubDomains
max-age策略有效期,单位秒;建议从短值起步验证后逐步加长
includeSubDomains策略是否覆盖全部子域
生效条件只在 HTTPS 响应中生效,HTTP 响应里的该头会被浏览器忽略

nginx 配置示例

nginx 配置示例
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# 首次部署建议先用 max-age=300 验证,再逐级放大

检查响应头

检查响应头
curl -sI https://example.com | grep -i strict-transport-security
策略一旦被浏览器缓存,在 max-age 到期前用户无法用 HTTP 访问;includeSubDomains 会波及全部子域,启用前先盘点子域与内网域名。

易错点

  • 只在 80 端口或部分 location 配置,导致主站响应缺少该头
  • 子域尚未全部支持 HTTPS 就加 includeSubDomains,可能让老系统无法访问

数据来源与参考

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