AI 摘要

Cloudflare中国大陆访问延迟高、跨境链路波动大,直接修改NS记录难以精准控制节点。本文创新性提出「第三方优选IP平台 + SaaS自定义主机名」组合架构,通过CNAME疏引低延迟节点,使证书管理、安全防护、缓存加速更可控。涵盖Web站点、内网穿透、Worker边缘计算、R2存储桶等场景,详解配置技巧与注意事项,助力实现稳定高效跨境业务链路。

一、方案背景与核心原理

1.1 核心痛点

Cloudflare 官方边缘节点,在中国大陆地区普遍存在访问延迟偏高、跨境链路波动大的问题。如果直接修改 NS 记录把域名接入 Cloudflare,我们没办法精准控制用户实际连接到哪一个边缘节点,业务访问质量很难做到稳定可控。

1.2 整体解决方案

这套方案采用「第三方优选 IP 平台 + Cloudflare for SaaS 自定义主机名」的组合架构。 通过 CNAME 指向优选域名,把用户流量调度到经过测速筛选的低延迟 Cloudflare 边缘节点;再依靠 Cloudflare SaaS 层统一处理证书管理、安全防护、缓存加速,最后回源到业务源站。

如果团队有数据安全方面的诉求,或是有较多定制化需求,也可以自己搭建 IP 优选服务来替换第三方平台,做出更贴合自身业务的精细化链路控制。

1.3 完整请求链路

从用户发起请求,到业务返回结果,完整的链路逻辑如下:

  1. 用户端发起业务请求
  2. DNS 解析返回优选平台分配的低延迟 Cloudflare 节点 IP
  3. 用户和该边缘节点建立 TLS 连接
  4. Cloudflare SaaS 自定义主机名完成证书卸载、WAF 防护、缓存策略处理
  5. Cloudflare 按照配置的回源域名发起回源请求
  6. 回源域名解析到源站公网 IP
  7. 源站 Web 服务处理业务,再沿着原路径把响应返回

二、前置准备

在配置各类优选方案之前,需要提前准备好下面这些资源:

  • 已经注册完成的业务主域名(文档后续统一使用 example.com 作为示例主域名)
  • 可用的第三方 Cloudflare 优选 IP 服务域名(后续示例:cf.090227.xyz)
  • 业务后端资源:源站服务器公网 IP(示例:x.x.x.x)、内网服务、Worker 脚本或者 R2 存储桶等
  • 已经开通 Cloudflare for SaaS 功能,支持创建自定义主机名

三、常规优选方案

适合普通 Web 站点、源站直接暴露公网的场景,也是最基础的一套优选配置。

3.1 核心角色定义

优选入口域名:示例为 cdn.example.com,作为统一的优选接入入口。所有业务域名做 CNAME 指向这个域名,就可以拿到优选 IP。该域名只做 DNS 解析,Cloudflare 代理状态为未代理,控制台显示灰色云朵,流量不会经过 Cloudflare 代理处理。

SaaS 回源域名:示例为 origin.example.com,A 记录填写源站公网 IP x.x.x.x,Cloudflare 代理状态开启代理,控制台显示橙色云朵,作为 Cloudflare 回源请求的统一公网入口。

3.2 配置步骤

  1. 在域名 DNS 解析服务商处,添加 cdn.example.com 的 CNAME 记录,指向第三方优选平台域名 cf.090227.xyz,代理模式设置为仅 DNS。
  2. 在 Cloudflare 控制台添加 origin.example.com 子域名,添加 A 记录指向源站公网 IP x.x.x.x,开启代理模式。
  3. 在 Cloudflare for SaaS 中创建自定义主机名,绑定实际业务域名;配置 TLS 1.2 及以上协议版本,证书类型选择 Cloudflare 官方免费证书,验证方式选用 HTTP 验证,自定义源服务指向 origin.example.com。
  4. 将业务域名通过 CNAME 指向 cdn.example.com,完成优选流量接入。

四、Tunnel 优选方案

适合源站部署在内网、没有公网 IP,或者不想把源站公网 IP 对外暴露的场景。依靠 Cloudflare Tunnel,同时实现内网穿透和节点优选。

4.1 方案逻辑

通过 Cloudflare Tunnel 创建两条子域名路由。一条用来做实际内网服务映射,另一条充当优选接入入口。修改 DNS 解析,把入口域名指向优选 IP,同时保留好 Tunnel 的路由规则,以此实现「优选 IP 接入 + Tunnel 内网回源」的完整链路。

4.2 配置步骤

  1. 在 Cloudflare Tunnel 中创建两条子域名路由规则,两者都映射到目标内网服务地址(例如 http://127.0.0.1:8080):
  2. 在 DNS 记录管理中,只删除 sub‑a.example.com 由 Tunnel 自动生成的解析记录,保留 Tunnel 面板内的路由规则,保证路由规则正常生效,同时把 DNS 解析的控制权拿在手里。
  3. 给 sub‑a.example.com 新建 CNAME 记录,指向优选入口域名 cdn.example.com,代理模式设置为仅 DNS。
  4. 在 Cloudflare for SaaS 中创建自定义主机名,主机名填写 sub‑a.example.com;配置 TLS 1.2 及以上协议,证书使用 Cloudflare 提供,采用 HTTP 验证方式,自定义源服务指向 Tunnel 路由域名 sub‑b.example.com。

五、Worker 优选方案

适合需要借助 Cloudflare Worker 做请求处理、接口转发或者边缘计算的业务场景。Worker 可以直接对接优选 IP 链路。

5.1 方案特点

Worker 场景不需要额外配置直连子域名。直接在 Worker 触发器绑定业务子域名,再通过 CNAME 接入优选入口,就可以同时用上边缘计算能力和低延迟接入效果。

5.2 配置步骤

  1. 在 Cloudflare 控制台创建并部署目标 Worker 脚本,确认功能运行正常。
  2. 在 Worker 的触发器设置里,添加自定义域名路由,规则写成 sub‑worker.example.com/*,必须带上通配符 /*,用来匹配该子域名下全部请求路径。
  3. 在 DNS 解析服务商处,给 sub‑worker.example.com 添加 CNAME 记录,指向优选入口域名 cdn.example.com,代理模式设置为仅 DNS。
  4. Worker 优选无需通过SaaS回源址。

六、R2 存储桶优选方案

针对 Cloudflare R2 对象存储自定义域名访问的场景,借助优选 IP,提升 R2 静态资源在国内的访问速度。

6.1 前置准备

确定 Cloudflare R2 的已设置自定义域名sub‑a.example.com绑定存储桶,确保该域名为活动及已启用状态。

6.2 配置步骤

  1. 确认目标 R2 存储桶已经创建完成,文件访问权限配置无误,并且已存在自定义域名sub‑a.example.com绑定。
  2. 进入 Cloudflare 控制台对应域名的「Cloud Connector(云连接器)」设置,提供商选择 Cloudflare R2,选择相应桶及自定义域名sub‑a.example.com。
  3. 添加规则:当请求主机名为 sub‑b.example.com 时,转发到对应的 R2 存储桶。
  4. 在 DNS 解析服务商处,为 sub‑b.example.com添加 CNAME 记录,指向优选入口域名 cdn.example.com,代理模式设置为仅 DNS。

七、配置注意事项

  • 代理状态一致性:所有接入优选的业务子域名,DNS 代理状态必须设置为「仅 DNS(灰色云朵)」。一旦开启代理,流量会直接走 Cloudflare 官方解析,优选 IP 调度就不会生效。
  • SaaS 证书验证:自定义主机名的 HTTP 验证,要保证回源路径可以正常访问,不然会出现证书签发失败。如果要使用自己的证书,需要提前上传到 Cloudflare 证书管理。
  • 回源连通性校验:配置全部完成之后,需要测试优选节点到回源域名之间的链路连通性和延迟,防止接入优选之后,回源链路变成新的性能瓶颈。
  • 路径匹配规则:Worker、R2 这类场景,配置路由时要留意通配符是否写对,确保全部请求路径都可以被正确匹配、转发。
  • 自建优选适配:如果是自己搭建 IP 优选服务,要做好定期测速和 IP 池更新机制,保证优选节点可以持续提供较低的访问延迟。