04 · 建立 HTTPS 与 TLS 1.3 安全基线
在 Full strict 稳定后,依次配置 HTTPS 跳转、最低 TLS、TLS 1.3 与 HSTS,并保留兼容性和回滚边界。
编辑与核验:橙宝书编辑团队 ·
完成结果
HTTP 请求会在 Cloudflare 边缘统一跳转到 HTTPS;现代客户端可以协商 TLS 1.3;旧协议是否拒绝由明确的兼容性测试决定;HSTS 只在证书和所有目标主机名稳定后分阶段开启。
四个开关解决四件事
| 能力 | 解决什么 | 不会替你解决什么 | 风险级别 |
|---|---|---|---|
| Always Use HTTPS | 将访客的 HTTP 请求重定向到 HTTPS | HTML 中写死的 HTTP 子资源 | 低,但要排除重定向循环 |
| Minimum TLS Version | 拒绝低于指定版本的访客连接 | Cloudflare 到源站的 TLS 配置 | 中,会淘汰旧客户端 |
| TLS 1.3 | 允许现代客户端使用新版 TLS | 不能单独挑选 TLS 1.3 cipher | 低,仍需兼容性验证 |
| HSTS | 让浏览器在一段时间内只用 HTTPS | 证书续期、源站 HTTPS 和混合内容 | 高,浏览器会记住策略 |
先完成端到端 TLS
只有 Full (strict) 与源站证书已经稳定,才进入本页。若先开启长周期 HSTS,再关闭 HTTPS 或让证书失效,已记住策略的浏览器可能在 Max-Age 到期前无法访问。
推荐发布顺序
保存变更前证据
curl -sS -I http://www.example.com/
curl -sS -I https://www.example.com/记录状态码、Location、证书覆盖的主机名和当前重定向链。首页、登录入口和一个静态资源都要测试,避免只验证被缓存的单一路径。
开启 Always Use HTTPS
在 SSL/TLS → Edge Certificates 开启 Always Use HTTPS。它对 Zone 内的主机名统一生效。若源站也负责跳转,保留一处清晰的规范化逻辑,避免 HTTP/HTTPS 或 www/apex 规则互相追逐。
curl -sS -I http://www.example.com/成功标准是有限次数内到达预期的 https:// URL。Always Use HTTPS 不会改写页面内部的 HTTP 资源;混合内容应修改应用输出,必要时再评估 Automatic HTTPS Rewrites。
审计最低 TLS 版本
最低 TLS 版本是“允许连接的下限”,不是“强制每个人使用 TLS 1.3”。对现代公共网站,可在日志与客户端清单确认后考虑 TLS 1.2;老旧设备、嵌入式客户端或遗留 API 必须先在测试主机名验证。Zone 级设置适用于所有主机名;按主机名单独设置需要 Advanced Certificate Manager。
curl -sS -I --tls-max 1.1 https://www.example.com/若最低版本已设为 TLS 1.2,这个旧协议测试应无法完成握手。不要只根据自己的新浏览器判断兼容性。
开启 TLS 1.3 并验证
在 SSL/TLS → Edge Certificates 开启 TLS 1.3。该能力适用于整个 Zone,当前所有套餐可用,且不能单独选择 TLS 1.3 的密码套件。
openssl s_client -connect www.example.com:443 \
-servername www.example.com -tls1_3 </dev/null检查输出中的协商协议与证书主机名。命令依赖本机 OpenSSL 支持 TLS 1.3;不支持时使用浏览器 Security 面板交叉验证。
最后分阶段开启 HSTS
先确认所有计划覆盖的子域名都能长期提供有效 HTTPS,再在 SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) 使用较短 Max-Age 试运行。观察证书续期、旧主机和第三方服务后再逐步延长。
includeSubDomains 会把承诺扩展到所有子域名;preload 还会把策略纳入浏览器预置列表,撤回不即时生效。只有在整个域名树已满足要求并能长期维持时才选择它们。
验收矩阵
| 检查 | 预期 | 失败时先看 |
|---|---|---|
| HTTP 首页 | 跳到唯一规范 HTTPS URL | Redirect Rules、源站跳转、加密模式 |
| HTTPS 首页 | 证书有效,无循环 | Edge Certificates、SAN、时钟与链 |
| TLS 1.1 上限测试 | 最低版本为 1.2 时握手失败 | Minimum TLS Version 是否作用于目标 Zone |
| TLS 1.3 测试 | 协商 TLS 1.3 | 客户端能力、Zone 开关、中间网络 |
| 响应头 | 仅在启用 HSTS 后出现 Strict-Transport-Security | 主机名覆盖、Max-Age 与规则作用域 |
下一篇会把 TLS 之上的 HTTP/2、HTTP/3 与 0-RTT分开说明。
官方来源
这篇内容帮你完成目标了吗?
内测反馈只在当前浏览器生成,不会自动上传。