对于很多白嫖党和独立开发者来说,CF 绝对是神一般的存在。特别是它提供的 Workers 和 Pages 无服务器托管服务,让我们几乎零成本就能把项目跑在全球边缘节点上。

对于免费版用户,CF 官方为了节省跨国网费,会把中国大陆的访问流量统统绕路发配到美国西海岸。导致我们在国内访问自己的项目时,经常面临 200ms+ 的高延迟和严重丢包,传说中的“减速云”。

在开始前准备:

  1. 一个托管在 Cloudflare 的域名(注:必须是正规域名如 .com.top,不能是 Freenom 提供的双向免费域名如 .tk.ml 等,会被 CF 限制)。
  2. 一个靠谱的优选 CNAME(本文以热心大佬维护的 saas.sin.fan 为例)

方案一:针对 Workers 的优选路由法

如果你加速的项目是跑在 Worker 上的,这是最简单粗暴的方法。我们不需要把 DNS 搬出 CF,直接在内部就能消化。

(以我们要加速的自定义域名 dom.liujxu.top 为例)

添加 CNAME 并“点灰小黄云”

  1. 登录 Cloudflare 仪表盘,进入你的域名(liujxu.top)管理界面。
  2. 左侧菜单找到 DNS -> 记录 -> 添加记录
    • 类型CNAME
    • 名称dom (你要加速的前缀)
    • 目标saas.sin.fan (优选域名)
  3. ⚠️ 史诗级高危提醒代理状态必须点成灰色(仅 DNS)! 绝对不能开小黄云,否则会引发无限死循环报错。

在 Worker 中绑定路由

  1. 左侧菜单回到 Compute,点击你想要加速的 Worker 项目。
  2. 进入 设置 -> 触发器 -> 路由(Routes)
  3. 添加路由:
    • 路由dom.liujxu.top/* (⚠️ 注意:末尾的 /* 必须要带上!
    • 区域:选择 liujxu.top
  4. 点击保存。

🛑 避坑指南绝对不要在 Worker 设置里的“自定义域”去添加域名!一定要用“路由”功能来绑定!

效果:等待 1-2 分钟 DNS 生效后,国内用户访问该 Worker 时,就会被引导至极速的优选节点,速度起飞

方案二:针对 Pages 的智能分流法(NS 委托解析)

Pages 不能像 Worker 那样直接用路由拦截,如果我们想做到**“国内走优选极速,国外走 CF 官方”的智能分流,我们需要借助第三方的智能 DNS 解析(这里以华为云国际版**为例,国内腾讯云 DNSPod 同理)。

(以我们要加速的自定义域名 blog.liujxu.top 为例)

在 Pages 中获取回退源地址

  1. 在 CF 仪表盘进入你的 Pages 项目。
  2. 转到 自定义域 选项卡,点击 设置自定义域
  3. 输入你的目标域名 blog.liujxu.top 并继续。
  4. 此时 CF 会给你一个类似 xxx.pages.dev 的目标地址。把它记下来,然后直接关掉这个页面(不要在 CF 里点验证)。

在第三方 DNS 建立“国中之国”

  1. 使用魔法登录【kl@】 华为云国际版https://console-intl.huaweicloud.com/dns)
  2. 进入 云解析服务 DNS -> 公网域名 -> 创建公网域名
  3. ⚠️ 注意:这里填入的不是主域名,而是你的完整子域名blog.liujxu.top

配置智能分流规则

点击进入刚才创建的子域名,添加两条 CNAME 记录

  1. 第一条(默认线路用)
    • 类型:CNAME
    • 线路类型:全网默认
    • 值:填入 Step 1 中记下的 xxx.pages.dev
  2. 第二条(国内极速提速用)
    • 类型:CNAME
    • 线路类型:地域解析 > 中国大陆
    • 值:填入优选 CNAME saas.sin.fan

将子域名权力交接

回到华为云,点击你的子域名,系统会给你提供 4 个华为云的 NS 记录地址(如 ns1.huaweicloud-dns.com 等)。

  1. 回到 Cloudflare 的主域名 DNS 控制台
  2. 添加 4 条 NS 记录
    • 名称都是:blog
    • 目标分别是华为云给的那 4 个地址。

upload successful

🛑 史诗级排错指南(不看绝对翻车):
因为你之前在 CF Pages 里填过这个自定义域名,CF 的系统会自作多情地给你生成一个隐藏的 CNAME 记录。
请务必在 CF 的 DNS 列表里仔细检查,除了你刚才手动加的 4 条 NS 记录外,只要看到名称是 blog 的其他记录(A 记录或 CNAME),统统删掉! 否则内部记录冲突,你的华为云优选将永远无法生效!

优选前:

upload successful
优选后:

upload successful

🤔 常见 Q&A

Q1:我把小黄云点灰了,是不是意味着网站在“裸奔”,会被 DDoS 轻易打死?

A:完全不会! 这就是这套方案最巧妙的地方。因为你使用的是 Serverless 架构,你根本没有物理服务器 IP。就算小黄云灰了,流量也是打向 saas.sin.fan,而这个域名背后解析的依然是 Cloudflare 自己的真实优质节点。黑客打过来的流量,最终还是由 CF 的几百 Tbps 钢筋铁骨扛下,你的网站稳如泰山。

Q2:那有什么安全隐患吗?

A:有,防不住应用层的恶意刷量(CC 攻击)。 因为绕开了部分 CF 默认的安全盾,如果有无聊的人写脚本疯狂刷你的接口,你的网站不会挂,但是你每天 10 万次的免费 Worker/Pages 额度会被迅速耗尽。一旦超额,当天剩下的时间应用就会报错熔断(Error 1015)。不过作为个人折腾项目,一般不会遇到这种针对性的无聊攻击。

Q3:为什么我配置完用测速工具跑,IP 还是 Cloudflare 原来的慢速 IP?

A:让子弹飞一会儿。 涉及到 DNS 和 NS 记录的更改,全球运营商的 DNS 缓存刷新非常慢。只要确认 CF 后台没有残留的冲突记录,华为云的主机记录没填错,等 30 分钟到 2 个小时。