如何在 Cloudflare DNS 设置中配置自定义 TLS 版本?

文章导读
实际上 Cloudflare 的 DNS 管理页面并不提供 TLS 版本配置选项,你需要在控制台的 SSL/TLS 板块中进行设置,且通常只能设定最低支持版本而非强制单一版本。
📋 目录
  1. A 核心概念澄清
  2. B 配置步骤
  3. C 验证方法
  4. D 兼容性与风险
  5. E 加密模式说明
A A

实际上 Cloudflare 的 DNS 管理页面并不提供 TLS 版本配置选项,你需要在控制台的 SSL/TLS 板块中进行设置,且通常只能设定最低支持版本而非强制单一版本。

先说结论:DNS 设置与加密协议无关,请移步 SSL/TLS 菜单调整,并注意旧设备兼容性。

  • 适合:需要提升站点加密安全性或满足合规要求的场景
  • 先准备:确认源站服务器支持相同的 TLS 版本,避免握手失败
  • 验收:修改后使用客户端工具验证握手协议版本

核心概念澄清

很多站长容易混淆 DNS 解析和 SSL 加密的概念。DNS 设置仅负责将域名指向 IP 地址,而 TLS 版本属于传输层安全协议,由 Cloudflare 的边缘节点处理。在 Cloudflare 的代理模式下,连接分为两段:用户到 Cloudflare 边缘节点,以及 Cloudflare 回源到你的服务器。你在控制台调整的通常是第一段连接的最低加密标准。

调整 TLS 最低版本主要是为了安全性和合规性(如 PCI DSS 要求),而非性能提升。强制较高版本会牺牲部分旧客户端的兼容性。

配置步骤

以下是具体的配置检查步骤,操作前请确保已备份当前设置:

  1. 进入设置页面:登录 Cloudflare Dashboard,选择对应域名。在左侧菜单栏找到并点击SSL/TLS,确保加密模式(Encryption Mode)设置为 Full 或 Full (strict),否则回源可能报错。
  2. 调整最低版本:进入Edge Certificates(边缘证书)页面,下拉找到Minimum TLS Version。默认通常是 TLS 1.0 或 1.2,建议至少设置为 TLS 1.2。
  3. 保存更改:点击 Save 保存设置。注意,Cloudflare 通常不允许强制“仅”使用某版本,而是设定“最低”版本,客户端协商时可使用更高版本(如 TLS 1.3)。
  4. 检查回源设置:如果你使用了 Origin CA 证书,请确保源站 Web 服务器(如 Nginx/Apache)已配置支持对应的 TLS 版本。

验证方法

修改完成后,不要只依赖浏览器访问,建议使用命令行工具确认协商的协议版本:

如何在 Cloudflare DNS 设置中配置自定义 TLS 版本?

1. 查看当前协商版本:

在终端执行以下命令(将 example.com 替换为你的域名):

curl -vI https://example.com

在输出信息中查找 SSL connection using 字样。成功握手示例如下:

如何在 Cloudflare DNS 设置中配置自定义 TLS 版本?
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305
*  server certificate verification: OK
...
HTTP/2 200

2. 强制指定版本测试:

你可以尝试强制指定版本测试,例如:

curl `--tlsv1`.2 -vI https://example.com

如果连接失败,通常会看到以下错误提示,说明该版本未被支持或握手失败:

* SSL handshake failed
curl: (35) SSL handshake failed

兼容性与风险

  • 旧设备无法访问:设置为 TLS 1.2 或 1.3 后,Windows XP 上的 IE 浏览器、Android 4.4 及以下版本、iOS 9 以下设备可能无法打开网站。
  • 回源握手失败(525 错误):如果边缘节点支持 TLS 1.3 但你的源站服务器只支持 TLS 1.2,且 Cloudflare 回源设置不匹配,可能导致 521 或 525 错误。请确保源站 Nginx/Apache 配置了 ssl_protocols TLSv1.2 TLSv1.3;
  • HTTP/2 和 HTTP/3 依赖:较新的 HTTP 协议版本通常要求较高的 TLS 版本,调整 TLS 设置可能会间接影响 HTTP 协议的可用性。

加密模式说明

在 SSL/TLS 菜单中,加密模式的选择直接影响回源安全性:

  • Full: 源站可以有自签名证书,Cloudflare 与源站之间加密,但不验证源站证书有效性。
  • Full (strict): 源站必须有有效证书(如 Cloudflare Origin CA),Cloudflare 会验证源站证书。推荐此模式以避免中间人攻击。
  • Flexible: 用户到 Cloudflare 加密,Cloudflare 到源站不加密。不建议用于生产环境。