Aekor

Aekor
专注于用户阅读体验的响应式博客主题
  1. 首页
  2. Blog
  3. 正文

Cloudflare Workers / Pages 国内访问加速完全指南:优选域名从原理到落地

2025-11-03 65963点热度 196人点赞 0条评论

很多朋友把自己的网站、API、图床部署到 Cloudflare Workers 或 Pages 上,之后却发现一个尴尬的事实:服务在国外秒开,国内打开却要转好几秒的圈,甚至直接超时。

这不是你代码写得有问题,也不是 Cloudflare 服务不稳定,而是你的访问路径出了问题。本文把「优选域名 / 优选 IP 加速」这件事从底层原理讲到完整实操,覆盖 Workers 和 Pages 两种项目、共三种方案,最后附上验收方法和故障排查手册。

适用读者:已经(或打算)在 Cloudflare 上部署 Workers / Pages 项目,希望国内访问速度有明显改善的个人开发者与站长。

一、你的服务为什么慢

1.1、Cloudflare 的网络结构

Cloudflare 在全球数百个城市部署了边缘节点,采用 Anycast(任播)技术:全世界成千上万台服务器共用同一个 IP 地址,你连接这个 IP 时,网络会自动把你路由到「运营商认为最近」的那个节点。

理论上这很优雅,但问题出在「运营商认为」这四个字上——路由决策权在你的运营商手里,不在 Cloudflare 手里。

1.2、默认分配的 IP,为什么在国内表现差

  • 路由路径不可控:部分线路会被引导绕行日本、美国等地的节点,延迟从几十毫秒暴涨到 200~400ms;
  • 高峰期丢包严重:热门线路晚高峰拥堵,表现为网页加载卡在半路、API 请求频繁超时;
  • 运气成分大:不同地区、不同运营商(电信 / 联通 / 移动)分到的线路质量差异很大。

1.3、优选解决什么问题

既然所有边缘节点都能服务你的域名,那么接入点选得好不好,直接决定了访问体验。「优选」就是绕过运营商的默认路由决策,主动把用户引向一批实测速度快、丢包少、路由直连的 Cloudflare 边缘 IP 上。同一套代码,优选前后延迟从 300ms+ 降到 100~200ms 是普遍可以达到的效果。

二、优选的底层逻辑

2.1、边缘节点是「无差别」的

Cloudflare 的每个边缘节点上都运行着完整的边缘服务栈。当你发起 HTTPS 请求时,节点靠请求中的 SNI(Server Name Indication,TLS 握手时明文携带的访问域名)来判断这个请求该由谁处理:SNI 指向你账户里绑定了 Worker 的域名 → 交给这个 Worker;指向某个站点 → 按规则回源或返回缓存。

换句话说,Cloudflare 认域名不认路。你从哪个边缘 IP 进门不重要,进门时报的 SNI 才重要。这就为优选打开了大门。

2.2、优选的两载体:优选 IP 与优选域名

优选 IP优选域名
形式一个具体 IP(A 记录)一个域名(CNAME 记录)
来源用测速工具从 CF 官方 IP 段实测选出由自己或第三方维护,背后也是一批优选 IP
优点精准、速度最优后端 IP 失效时维护方可自动更换,省心
缺点IP 会老化失效,需定期重测依赖维护方,公益服务无 SLA

本文以优选域名为主线(更适合大多数人),自建优选 IP 的方法在第三章一并介绍。

2.3、前提不能开代理

优选的本质是:让用户的设备自己去解析出那个「优选 IP」。这要求 DNS 记录必须是「仅 DNS」状态(灰云)。一旦开启 Cloudflare 代理(橙云,社区俗称「小黄云」),解析权就交回给了 Cloudflare 官方 DNS,返回的是官方默认分配的 IP——又回到了第一章的问题。

铁律:凡是用于优选的 CNAME 记录,一律灰云(仅 DNS)。

2.4、三种方案全景图

方案适用场景难度域名是否必须托管在 CF
方案一:灰云 CNAME + Workers 路由绝大多数 Workers 项目⭐是
方案二:分线路 DNS + NS 委派Pages 项目、需要国内外分流⭐⭐是(需委派子域名)
方案三:Cloudflare for SaaS域名想留在其他 DNS、多域名共用⭐⭐⭐否

三、动手前的准备

3.1、域名要求

  • 你需要一个自己的域名,用于优选的子域名要能自由添加 CNAME 记录,且可以关闭代理;
  • 部分免费域名(尤其是一些二级域名分发服务)不开放完整的 DNS 控制权,或者强制开启代理,这类域名无法完成方案一和方案二;
  • 方案一、二要求域名(至少主域名)托管在 Cloudflare;方案三不要求。

3.2、获取优选资源

路线 A:现成的公益优选域名(推荐新手)——目前社区维护较活跃的几个(均在 Cloudflare 网络上):

域名说明
cf.090227.xyz老牌公益优选域名,支持 IPv4 / IPv6
cf.0sm.com公益维护,更新较勤
cf.zhetengsha.eu.org社区维护

⚠️ 公益服务没有可用性承诺,可能随时失效或变慢。建议同时记录 2~3 个备选,失效时改一条 CNAME 即可恢复。

路线 B:自动更新项目(推荐省心党)——DustinWin/BestCF 项目每 12 小时从多个数据源自动构建优选域名和 IP,直接取最新结果使用。

路线 C:完全自建(推荐追求极致的人)——用开源工具 CloudflareSpeedTest 对 Cloudflare 官方 IP 段做全量测速:

# 1. 到 GitHub Releases 下载对应系统的压缩包并解压
# 2. 运行(Windows 示例):
cfst.exe -tl 150 -dn 10
#    -tl 150   只保留平均延迟低于 150ms 的 IP
#    -dn 10    对延迟最低的前 10 个 IP 追加下载速度测试
# 3. 结果输出到 result.csv,按「下载速度」排序取第一名

测出的 IP 可以直接做 A 记录(优选 IP),也可以套一层自己的域名维护(形成私有优选域名)。IP 质量会随时间变化,建议至少每月复查一次。

3.3、开始前自检

  • 确定优选域名(或 IP),并已 ping 验证可用;
  • 域名的 DNS 控制权确认(能否加 CNAME、能否关代理);
  • Worker 或 Pages 项目已部署完成,用默认分配的 *.workers.dev / *.pages.dev 域名访问正常。

四、方案一:灰云 CNAME + Workers 路由(最常用)

这是绝大多数 Workers 项目的标准方案,全程只涉及 Cloudflare 一个控制台,两步完成。场景设定:你有一个 Worker 项目 my-app,想通过自定义域名 cdn.example.com 访问它,主域名 example.com 已托管在 Cloudflare。

第 1 步:添加灰云 CNAME 记录

进入 Cloudflare 控制台 → 选择域名 example.com → 左侧 DNS → 添加记录:

字段填写
类型CNAME
名称cdn
目标cf.090227.xyz(你的优选域名)
代理状态仅 DNS(灰云,务必确认)

保存后记录列表里这条记录应显示灰色云朵图标。如果是橙色,点一下切换成灰色,否则优选无效。

第 2 步:添加 Workers 路由

仍然在 example.com 这个域名下,左侧找到 Workers 路由(Workers Routes) → 添加路由:

  • 路由:cdn.example.com/*
  • Worker:下拉选择 my-app,保存。

❗ 路由末尾的 /* 绝对不能省。路由是按模式匹配的:cdn.example.com 只匹配「根路径」这一个请求,而 cdn.example.com/* 才能匹配该域名下的所有路径。漏写星号的典型症状是:首页能打开,任何子页面、静态资源、API 路径全部 404。这是本方案出错率最高的一步,没有之一。

第 3 步:验证

# 1. 检查解析结果:应返回优选域名的 IP(Cloudflare 边缘 IP)
nslookup cdn.example.com

# 2. 检查服务响应:应返回你 Worker 的内容,HTTP 状态正常
curl -I https://cdn.example.com

浏览器访问 https://cdn.example.com,能看到 Worker 正常返回、证书无告警,即成功。

深入:为什么不直接用 Workers「自定义域」?

Cloudflare 现在提供「自定义域(Custom Domains)」功能:在 Worker 的设置里直接绑定域名,不用写路由,平时确实更方便。但自定义域模式下,Cloudflare 会自动创建一条被代理(橙云)的 DNS 记录,并且不允许改为仅 DNS——解析权重新回到官方 DNS 手里,优选彻底失效。

这不是配置技巧问题,而是机制上的互斥:优选要求「用户自己解析到优选 IP」,自定义域要求「CF 接管解析」。所以走优选路线时,「灰云 CNAME + 路由」是唯一正确姿势。

五、方案二:分线路解析 + NS 委派(Pages 项目 / 国内外分流)

5.1、这个方案解决什么问题

方案一里有个隐含前提:这个子域名的所有用户都走优选。但很多场景需要分流:海外用户走默认线路就好,没必要绕道优选域名;Pages 项目的自定义域在 Cloudflare 体系内也无法直接做「大陆 / 海外」分线路解析。

解决办法是把这个子域名的解析权从 Cloudflare 委派(Delegate)出去,交给一家支持「地域分线路」的 DNS 服务商来解析:

为什么选华为云国际版:其免费公网解析支持按「中国大陆」地域分线路,且国际版注册无需实名。你也可以换成其他支持地域线路解析的 DNS 服务商(如 DNSPod 国际版等),原理完全相同。

5.2、操作步骤

第 1 步:给项目绑定自定义域。Pages 项目 → 自定义域 → 添加 cdn.example.com,记下你的 xxx.pages.dev 地址。此时验证状态可能一直「待验证」,不用管——下一步完成后自然生效。

第 2 步:注册华为云国际版。打开 华为云国际版 DNS 控制台 注册账号:国际版注册无需实名;注册时如果页面频繁跳转国内版,挂全局代理再注册;非必填项(如安全手机)直接跳过,进入「完善信息」页面即注册完成。

第 3 步:创建公网域名并添加两条分线路记录。DNS 控制台 → 公网域名 → 创建公网域名,填入 cdn.example.com → 管理解析 → 添加两条 CNAME 记录集:

#类型线路类型记录值
1CNAME全网默认my-site.pages.dev(项目官方地址)
2CNAME地域解析 → 中国大陆cf.090227.xyz(优选域名)

第 4 步:回到 Cloudflare 添加 NS 委派记录。华为云创建公网域名时会分配 4 台 DNS 服务器(在域名详情页查看)。回到 Cloudflare → example.com → DNS → 添加 4 条 NS 记录:主机记录填 cdn,记录值形如:

ns1.huaweicloud-dns.com.
ns1.huaweicloud-dns.cn.
ns1.huaweicloud-dns.net.
ns1.huaweicloud-dns.org.

(以你控制台里实际分配到的 4 条为准,不要照抄。)保存后,cdn.example.com 的解析权即交给华为云,DNS 委派生效需要时间(TTL 缓存,通常几分钟到几小时)。

5.3、验证与组合

  • 在大陆网络环境下 nslookup cdn.example.com:应返回优选域名的解析结果;
  • 在海外网络(或境外拨测节点)查询:应返回 xxx.pages.dev 的解析结果;
  • 该方法同样适用于 Workers:委派完成后,Cloudflare 侧照常为该域名配置 Workers 路由(即方案一的第 2 步),两个方案可以自由组合。

六、方案三:Cloudflare for SaaS 自定义主机名

前两个方案都要求主域名托管在 Cloudflare。如果你想把对外域名留在其他 DNS 服务商,方案三可以做到——Cloudflare 官方的 Cloudflare for SaaS 能力,免费套餐每个域名自带 100 个自定义主机名额度,个人使用绰绰有余。

原理一句话:你在 CF 的域名充当「服务端」,通过 SaaS 自定义主机名功能「接纳」一个不属于你 CF 账户的域名。请求到达边缘时按 SNI 匹配到这个自定义主机名,再落到回退源(Fallback Origin)背后的 Worker 上。对外域名的解析权完全留在你自己的 DNS 手里,CNAME 到优选域名、优选 IP、分线路都随意。

  1. 确定回退源:在 CF 账户里选一个已托管、已正常工作的域名——实践中通常直接用方案一配好的 Worker 自定义域;
  2. 开启 SaaS:该域名 → SSL/TLS → 自定义主机名 → 设置回退源地址;
  3. 添加自定义主机名:填你对外的域名(它可以不在 CF),按提示完成证书验证(TXT 或 HTTP 方式);
  4. 回到你的外部 DNS:给对外域名添加 CNAME → 优选域名(或优选 IP),完成。

SaaS 方案的细节坑位较多(证书验证方式、回源路径等),动手前建议先读一遍社区里的详细实践教程

七、Pages 项目专题:现状与两条路

2025 年起,Cloudflare 官方明确 Pages 进入维护模式:不再添加新功能,新项目推荐使用 Workers + 静态资源(Static Assets)。存量 Pages 项目目前完全正常运行,官方暂无停服时间表。对你的优选策略而言:

  • 存量 Pages 项目:直接用方案二(分线路 + NS 委派)即可,无需迁移;
  • 新项目:直接创建 Workers 项目(静态站点一样能托管),然后用方案一或方案二,配置路径更短;
  • 迁移本身不急:本文所有方法对迁移前后都通用。

八、上线后怎么验收

配置完成不等于优化到位,用数据说话。

nslookup cdn.example.com     # 解析结果是否指向了优选链路
ping cdn.example.com         # 延迟与丢包率
curl -o NUL -w "%{time_total}" https://cdn.example.com   # 总耗时(Windows)

全国范围拨测(推荐,能看到各省份 / 运营商的表现):ITDOG、Boce.com、17CE。

指标优选前(典型)优选后(典型)
首字节延迟250~400ms,部分地区 500ms+100~200ms
丢包率高峰期明显基本无丢包
页面完整加载频繁卡顿 / 重试流畅

注:具体数值因地区、运营商、时段而异,重点看优选前后的对比。

九、故障排查手册

症状最可能的原因解决办法
解析结果没变化,还是默认 IPCNAME 忘了切灰云检查记录的代理状态,改回「仅 DNS」
解析对了,但子页面 404路由末尾漏了 /*路由改成 cdn.example.com/*
整个域名 404 / 无响应路由没保存、Worker 没选中进 Workers 路由页核对
证书报错(不安全 / 525 / 526)Universal SSL 尚未签发完成等待(最长 24 小时);确认 SSL/TLS 模式为「完全」
大陆快、海外反而慢或异常「全网默认」线路记录缺失或错误核对两条记录集的线路与值
用了一段时间又变慢了优选资源老化失效更换 CNAME 目标为新的优选域名 / IP
公益优选域名解析失败维护方停服换用备选资源或自建(见第三章)
华为云侧始终不生效NS 委派记录没加 / 加错回 CF 核对 4 条 NS 记录,主机记录是 cdn

通用排障思路:先看解析(nslookup),再看路由(Workers Routes),最后看证书。90% 的问题出在前两步。

十、常见问题

Q1:优选域名和优选 IP,到底选哪个?
个人项目、图床、博客这类图省心的场景:选优选域名(公益资源或 BestCF),失效了换一条 CNAME 就行。追求极致性能、且愿意每月维护一次:自建优选 IP。两者也可以混用——主线路用 IP,备用线路挂域名。

Q2:会影响 SEO 吗?
不会。优选改变的是「用户从哪个边缘 IP 接入」,域名、内容、证书、状态码全部不变,搜索引擎无感知。

Q3:优选后 HTTPS 证书还正常吗?
正常。证书由 Cloudflare 边缘按 SNI 下发,和你从哪个 IP 接入无关。前提是域名托管在 CF(或 SaaS 场景下完成了主机名验证),Universal SSL 会自动覆盖 example.com 和 *.example.com。

Q4:免费额度够用吗?
Workers 免费版每天 10 万次请求;SaaS 方案每个域名 100 个自定义主机名。个人项目通常绰绰有余。

Q5:可以给别人的网站套优选加速吗?
不可以。优选只应用于你自己部署、有权管理的服务。给未授权的第三方站点做优选 / 反代,既违反 Cloudflare 服务条款,也侵犯站主权益,账号可能被封。

Q6:所有记录都要灰云吗?
只有「用于优选的这条记录」必须灰云。你主站其他记录该开代理照常开,互不影响。

十一、写在最后

回顾全文的三条主线:

  1. 原理:Cloudflare 边缘认 SNI 不认 IP,所有边缘节点都能服务你的域名——所以接入点可以随便挑,挑快的就行;
  2. 铁律:优选记录必须灰云(仅 DNS),代理(橙云)与优选互斥;路由末尾必须带 /*;
  3. 选型:Workers 走「灰云 CNAME + 路由」;要国内外分流或用 Pages,走「分线路 DNS + NS 委派」;域名想留在别家 DNS,走「Cloudflare for SaaS」。

最后提醒两点:公益优选资源没有稳定性承诺,重要服务建议自建优选并定期复测;优选仅用于加速自己有权管理的服务,遵守 Cloudflare 服务条款与所在地区法规。祝你的服务在国内也能秒开。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: CDN Cloudflare Pages Workers 优选域名 网站加速
最后更新:2026-11-03

Aekor

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

使用AI教程

  • API报错解决方案
  • API 基础知识
  • API Key 获取
  • 最新接入教程

分类

  • Blog
  • Oracle 数据库
  • TradingAgents-CN
  • 使用教程
  • 数据库

COPYRIGHT © 2026 Aekor. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang