国内加速
网站部署在 Cloudflare 上,国内访问却很慢?这篇从快速修复到进阶方案,讲清楚问题在哪、4 种方案怎么选、具体怎么配。
如果你的问题是 Vercel/Netlify 在国内慢,可以先看下面的方案 1(优选 CNAME)。本篇聚焦 Cloudflare 自身产品的国内加速。
把网站部署在 Cloudflare Workers 或 Pages 上,可能会发现一个尴尬的问题:全球访问都挺快,但国内用户打开时,Cloudflare 反而成了减速器。
这篇从问题诊断开始,给出 4 种方案,每个方案都会讲清楚具体怎么配置。
问题到底是什么
网站部署在 Cloudflare 上,架构大概是:
你的应用 -> Cloudflare Workers -> 你的域名这套架构很方便:部署简单、全球 CDN、证书自动搞定。
但问题是:Cloudflare 默认给你分配的入口,对国内线路不一定友好。 有些地区快、有些地区慢、有些地区时好时坏。
为什么会这样
问题出在两个地方:
1. DNS 解析层 — 用户访问域名时,DNS 决定把请求送到哪个 Cloudflare 入口。如果这个入口对国内线路不友好,第一步就慢了。
2. 路由规则层 — 就算找到了一个更快的 Cloudflare IP,直接把域名解析过去也不行。因为 Cloudflare 还得知道:这个请求是哪个网站的?该走哪个 Worker?
所以真正要解决的是:在不破坏 Cloudflare 路由的前提下,换一个更快的入口。
4 种方案快速对比
| 方案 | 原理 | 难度 | 维护成本 | 适合谁 |
|---|---|---|---|---|
| 优选 CNAME | 社区维护的优选域名 | 低 | 低 | 快速测试、个人博客 |
| Cloudflare for SaaS + Custom Hostnames | 换更快的 Cloudflare 入口 | 中 | 低 | 想要省心方案的人 |
| 腾讯 CDN + DNSPod 智能解析 | 国内外分流 | 中 | 中 | 已有 CF Pages 项目 |
| EdgeOne Pages | 直接部署到国内节点 | 低 | 低 | 2026 年新项目 |
下面逐一讲每个方案的具体配置。
方案 1:优选 CNAME(最快上手)
这是最简单的方案,适合快速验证效果。
核心做法是把域名 CNAME 到社区维护的优选域名(如 cf-cname.xingpingcn.top),让国内用户走更快的 Cloudflare 入口。
局限性:依赖第三方免费服务,稳定性无法保证,不适合生产环境。
方案 2:Cloudflare for SaaS + Custom Hostnames
AxisNow 是本方案推荐的第三方服务,但目前服务不太稳定。建议暂时观望,等服务成熟后再使用。
这个方案通过 Cloudflare for SaaS 的 Custom Hostname 机制,配合第三方优选入口服务(如 AxisNow),让国内用户走更快的 Cloudflare 节点,同时保留 Cloudflare 所有功能。
核心思路
以 www.01mvp.com 为例:
- 用户访问
www.01mvp.com - AxisNow 选择最快的 Cloudflare 入口
- 请求进入 Cloudflare,Cloudflare 认出这是你的网站
- 请求到达你的应用,返回页面
配置目标:让 Cloudflare 知道,从 AxisNow 进来的请求是你的网站。
Cloudflare 配置步骤
开启「识别其他入口」功能
在 Cloudflare 控制台:
选择域名 01mvp.com -> SSL/TLS -> Custom Hostnames -> 启用正常情况下,Cloudflare 只认识你直接添加到账号的域名。开启这个功能后,即使请求从其他入口(比如 AxisNow)进来,Cloudflare 也能认出这是你的网站。
创建备用地址
在 Cloudflare 控制台:DNS -> Records -> Add record
类型: AAAA
名称: cf-origin
内容: 100::
代理状态: 选择橙色云朵(Proxied)这会创建 cf-origin.01mvp.com。100:: 只是个占位符,实际不会用到。它的作用是告诉 Cloudflare:「如果不知道该怎么处理,就送到这里。」
设置 Fallback Origin
在 Cloudflare 控制台:SSL/TLS -> Custom Hostnames -> Fallback Origin(备用源)
填入:cf-origin.01mvp.com
添加 Custom Hostname
在 Cloudflare 控制台:SSL/TLS -> Custom Hostnames -> Add Custom Hostname
输入域名:www.01mvp.com
等几分钟验证通过。这是最关键的一步,做完这步 Cloudflare 就知道 www.01mvp.com 是你的网站了。
配置 Worker 路由
在 Cloudflare 控制台:Workers & Pages -> 选择你的 Worker -> Settings -> Triggers -> Routes
添加:www.01mvp.com/*
这样所有访问 www.01mvp.com 的请求都会交给你的应用处理。
AxisNow 配置
在 AxisNow 创建:国内优化入口 -> 一级调度入口 -> 将国内优化入口和 cf-origin.01mvp.com 加入地址池 -> 开启健康检查和延迟优选。
详细步骤参考 AxisNow 文档。
DNS 配置
在 DNS 服务商添加 CNAME 记录:
www.01mvp.com CNAME AxisNow 提供的调度域名为什么用 www 开头的域名
Cloudflare 有个限制:如果域名是 01mvp.com,不能直接用 01mvp.com 本身做 Custom Hostname 配置,只能用 www.01mvp.com。
建议:01mvp.com 自动跳转到 https://www.01mvp.com,www.01mvp.com 作为真正的访问地址。
优缺点
| 说明 | |
|---|---|
| 优点 | 配置一次后续自动维护;国内访问速度明显改善;保留 Cloudflare 所有功能 |
| 缺点 | 依赖第三方服务(AxisNow);可能有额外成本;服务目前不太稳定 |
方案 3:腾讯 CDN + DNSPod 智能解析
这个方案适合已经在 Cloudflare Pages 上跑起来、不想彻底迁走的网站。核心思路:国内用户走腾讯云 CDN,海外用户继续走 Cloudflare。
架构
假设域名为 myweb.com,Cloudflare Pages 源域名为 xxx.pages.dev:
国内用户
-> DNSPod 智能解析
-> 腾讯云 CDN
-> 回源到 xxx.pages.dev
-> Cloudflare Pages
海外用户
-> DNSPod 智能解析
-> xxx.pages.dev / Cloudflare Pages 自定义域名
-> Cloudflare CDN
-> Cloudflare Pages为什么可行
这里用到了三个能力:
- Cloudflare Pages 支持自定义子域名 — 可以在 Pages 项目里绑定
www.myweb.com。注意:必须先在 Pages 的 Custom domains 里添加,否则可能直接 522。 - 腾讯云 CDN 可以用外部域名作为源站 — 国内用户先访问腾讯云 CDN,腾讯云 CDN 再去
xxx.pages.dev拉内容。 - DNSPod 支持按线路智能解析 — 给同一个主机记录配置不同线路(境内、境外、默认)。默认线路一定要留,否则某些用户可能直接解析失败。
配置步骤
在 Cloudflare Pages 绑定 www 域名
Workers & Pages -> 选择你的 Pages 项目 -> Custom domains -> Set up a domain -> 填 www.myweb.com在腾讯云 CDN 添加加速域名
加速域名:www.myweb.com
源站类型:外部源站 / 自有源
源站地址:xxx.pages.dev
回源协议:HTTPS
回源 Host:xxx.pages.dev然后给 www.myweb.com 配置 HTTPS 证书。
如果页面出现跳转循环,大概率是 xxx.pages.dev 被设置成了自动跳转到 www.myweb.com。CDN 不能回源到一个会反跳回来的地址。
用 DNSPod 做智能解析
主机记录:www 记录类型:CNAME 线路类型:境内 记录值:腾讯云 CDN 分配的 CNAME
主机记录:www 记录类型:CNAME 线路类型:境外 记录值:xxx.pages.dev
主机记录:www 记录类型:CNAME 线路类型:默认 记录值:xxx.pages.dev根域名跳转到 www
在 DNSPod 做显性 URL 转发:
主机记录:@ 记录类型:显性 URL 线路类型:默认 目标 URL:https://www.myweb.com注意两个限制:DNSPod 的 URL 转发有备案要求;覆盖 https://myweb.com 需要对应 HTTPS 证书。
适合谁
适合:静态站点、博客、文档站、国内用户不少但海外也要保留、域名已在腾讯云/DNSPod 管理。
不太适合:有登录、支付、频繁 API、SSR、图片鉴权、按地区返回不同内容的复杂应用。维护两层 CDN,一旦缓存、Cookie、跳转、证书、回源 Host 没对齐,问题会很隐蔽。
方案 4:EdgeOne Pages(2026 新项目推荐)
如果是新项目,尤其是目标用户主要在国内,推荐直接用 EdgeOne Pages。
原因是链路更短:
Cloudflare + 腾讯云 CDN:用户 -> DNS 智能解析 -> CDN 分流 -> 回源 -> Cloudflare Pages
EdgeOne Pages: 用户 -> EdgeOne PagesEdgeOne Pages 是腾讯云基于 EdgeOne 做的前端部署平台,支持静态站点和 Serverless 应用,能通过 Git 仓库、模板或直接上传来创建项目。
少一层转发,就少一层心智负担。不用再纠结:国内解析到哪里、海外解析到哪里、腾讯云 CDN 回源 Host 填什么、两边缓存怎么刷新、两边证书有没有都签好。
直接部署到 EdgeOne Pages,域名、证书、CDN、边缘能力都在腾讯云这一套里处理。
决策矩阵
已有 Cloudflare Pages 项目:
先用腾讯云 CDN + DNSPod 智能解析做国内加速
新项目,国内用户为主:
直接试 EdgeOne Pages
新项目,海外用户为主:
Cloudflare Pages 依然很舒服
不想折腾,快速测试:
优选 CNAME 方案踩坑提醒
切换前先让海外线路直连 Cloudflare 正常,再加腾讯云 CDN 回源,再切境内线路。每一步都用 curl -I 检查状态码、server 头、缓存头和 location。这样出问题时知道是哪一层错了。
- 不要把同一个主机记录同时做成普通 CNAME 和智能线路 CNAME — 同一个主机记录可以按线路区分,但不要混成几套互相打架的配置。
- 不要忘记默认线路 — 境内、境外都配了,不代表所有请求都能准确命中。
- 不要把会跳转的地址拿来当 CDN 源站 — 如果
xxx.pages.dev会 301 到自定义域名,而国内解析又指向腾讯云 CDN,就可能出现绕圈。 - 不要忽略备案 — 腾讯云 CDN、URL 转发、国内 HTTPS 证书相关配置,很多地方都会和备案状态绑定。
参考资料
这篇文档有问题?