HSTS 保护 HTTPS Web 服务器免受降级攻击。这些攻击将 Web 浏览器从 HTTPS Web 服务器重定向到攻击者控制的服务器,使恶意行为者能够窃取用户数据和 cookie。
HSTS 添加一个 HTTP 标头,指示兼容的 Web 浏览器:
- 将 HTTP 链接转换为 HTTPS 链接
- 防止用户绕过 SSL 浏览器警告
在启用 HSTS 之前,请查看要求。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
Availability | Yes | Yes | Yes | Yes |
为使 HSTS 按预期工作,您需要:
- 在 HSTS 之前启用 HTTPS,以便浏览器可以接受您的 HSTS 设置
- 保持 HTTPS 启用,以便访客可以访问您的网站
启用 HSTS 后,请避免以下操作以确保访客仍可访问您的网站:
- 将 DNS 记录从 Proxied 更改为仅 DNS
- 在您的网站上暂停 Cloudflare
- 将域名服务器指向远离 Cloudflare
- 将 HTTPS 重定向到 HTTP
- 禁用 SSL(无效或过期的证书,或主机名不匹配的证书)
要使用仪表板启用 HSTS:
-
在 Cloudflare 仪表板中,前往 Edge Certificates(边缘证书) 页面。
Go to Edge Certificates ↗ -
对于 HTTP Strict Transport Security (HSTS),选择 Enable HSTS(启用 HSTS)。
-
阅读对话框并选择 I understand(我理解)。
-
选择 Next(下一步)。
-
配置 HSTS 设置。
-
选择 Save(保存)。
要通过 API 启用 HSTS,请发送 PATCH 请求,在 URI 路径中将设置名称设为 security_header,并指定包含 HSTS 设置的 value 对象。
要在您的网站上禁用 HSTS:
-
在 Cloudflare 仪表板中,前往 Edge Certificates(边缘证书) 页面。
Go to Edge Certificates ↗ -
对于 HTTP Strict Transport Security (HSTS),选择 Enable HSTS(启用 HSTS)。
-
将 **Max Age Header(最大年龄标头)**设置为 0 (Disable)(0 [禁用])。
-
如果您先前启用了 No-Sniff 标头并希望移除它,请将其设置为 Off(关闭)。
-
选择 Save(保存)。
| 名称 | 必填 | 描述 | 选项 |
|---|---|---|---|
| Enable HSTS (Strict-Transport-Security)(启用 HSTS) | 是 | 对所有 HTTPS 请求向浏览器提供 HSTS 标头。HTTP (非安全)请求将不包含该标头。 | Off / On |
| Max Age Header (max-age)(最大年龄标头) | 是 | 指定浏览器 HSTS 策略的持续时间,并要求您的网站使用 HTTPS。 | 禁用,或从 1 到 12 个月的范围 |
| Apply HSTS policy to subdomains (includeSubDomains)(将 HSTS 策略应用于子域名) | 否 | 将父域名的 HSTS 策略应用于子域名。如果子域名不支持 HTTPS,则无法访问。 | Off / On |
| Preload(预加载) | 否 | 允许浏览器自动预加载 HSTS 配置。防止攻击者将首次请求从 HTTPS 降级为 HTTP。预加载可能使没有 HTTPS 的网站完全无法访问。 | Off / On |
| No-Sniff Header(No-Sniff 标头) | 否 | 发送 | Off / On |