指南 · 约 3 分钟阅读
HSTS,一步一步来
HTTP Strict Transport Security 告诉浏览器访问你的网站时只使用 HTTPS,从而阻止公共 Wi-Fi 上的降级攻击和 Cookie 窃取。它的效果会持续存在,所以要分阶段部署。
代码和配置保持英文。
开始之前
- 每个页面都必须能通过 HTTPS 访问,并且
http://必须在同一主机上跳转到https://。 - 如果你要使用
includeSubDomains,每个子域名(邮件、商店、测试环境)也都必须有有效证书。
阶段 1:五分钟
nginx
add_header Strict-Transport-Security "max-age=300" always;阶段 2:一年,包含子域名
nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;.htaccess
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"在 Cloudflare 上:SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS)。
阶段 3(可选):preload
preload 会把 HSTS 内置到浏览器中。hstspreload.org 要求 max-age 至少一年、包含 includeSubDomains 和 preload 标记。移除需要数月时间,所以只有在确定所有子域名都会一直使用 HTTPS 时才进行 preload。
nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;