Cloudflare SaaS 域名优选:国内访问加速终极教程
上一篇教了怎么用 Cloudflare Tunnel 让没有公网 IP 的网站上线(点这里回顾)。但很多朋友反馈:国内访问 Cloudflare 免费版太慢了,动不动两三秒才打开。
这篇就是来解决这个问题的:用 Cloudflare for SaaS + 域名优选,把国内访问速度拉起来。照样是喂饭级教程,跟着做就行。
一、先搞懂原理(这次真的要说清楚)
1. 为什么 Cloudflare 免费版在国内慢?
Cloudflare 是 Anycast(任播) 网络:全球一堆服务器共享同一批 IP。国内用户访问时,DNS 通常给你解析到美国等绕远的节点——物理距离远,自然慢。
2. 域名优选是啥?
Cloudflare 在国内直连延迟低的 IP 是存在的(主要在香港、日本、新加坡的节点)。域名优选就是:
- 用工具测出这些"好 IP"
- 把你的域名直接解析(A 记录)到这些好 IP 上
- 访客一访问就直连好 IP → 速度快几倍
3. Cloudflare for SaaS 是啥?
正常情况下,一个域名要 "托管给 Cloudflare"(改 NS)才能用它的 CDN。而 Cloudflare for SaaS(自定义主机名) 允许:
- 你的访问域名不用托管给 Cloudflare
- 一样能走 Cloudflare 的网络、用它的证书
- 还能配合优选 IP 实现加速
访问流程变成这样:
访客 → 优选IP(香港/日本节点) → Cloudflare边缘
→ 根据域名找到你的站点 → 回源(你的服务器) → Halo
二、你需要准备什么?
| 材料 | 要求 | 备注 |
|---|---|---|
| 主域名 | 必须托管在 Cloudflare | 当"中转站",比如 origin.com |
| 访问域名 | 任意 DNS 商(阿里云/腾讯云) | 访客访问的,比如 blog.example.com |
| 服务器 | 上一篇的 Halo + Tunnel 已就绪 | 或者有公网 IP 直连也行 |
| CloudflareSpeedTest | 测速工具,免费 | 找优选 IP 用 |
💡 没看上一篇? 先去把 Halo 和 cloudflared Tunnel 装好,这篇是在那基础上的进阶。
三、第一步:确认主域名已在 Cloudflare
打开 https://dash.cloudflare.com,确认你的主域名状态是 Active(橙色)。
没有主域名?先去注册一个域名,托管到 Cloudflare(具体步骤看上一篇第三节)。
四、第二步:开启 Cloudflare for SaaS(自定义主机名)
4.1 进入功能页面
- 登录 Cloudflare 控制台
- 点进你的主域名
- 左侧菜单:SSL/TLS → Custom Hostnames(自定义主机名)
- 如果是第一次用,页面会提示开启 Cloudflare for SaaS,点确认开启
免费套餐可以添加 100 个自定义主机名,个人博客完全够用。
4.2 设置回源地址(Fallback Origin)
在 Custom Hostnames 页面点 Settings(设置):
- 找到 Fallback origin(回源地址)
- 填上你的源站地址,两种方式二选一:
方式 A:用 Tunnel(推荐,上一篇的方案)
把 Tunnel 的地址填进去,格式是:
你的隧道名.cfargotunnel.com
比如:my-blog.cfargotunnel.com
不知道隧道名?服务器上执行
cloudflared tunnel list就能看到。
方式 B:有公网 IP 直接回源
你的服务器IP:端口
比如:123.45.67.89:8090
⚠️ 填完点 Save。这是 "最后一步往哪走" 的地址,填错全白搭。
五、第三步:添加自定义主机名(你的访问域名)
- 在 Custom Hostnames 页面点 Add custom hostname(添加自定义主机名)
- 输入你的访问域名,比如
blog.example.com - 证书验证方式选 CNAME(推荐,最稳)
- 最低 TLS 版本选 1.2 就行
- 点 Add Custom Hostname
添加后,Cloudflare 会给你一条验证用的 CNAME 记录,长这样:
主机: _acme-challenge.blog
值: <一串随机字符>.example.com.cm.acme.cloudflare.com
⚠️ 这条记录是验证证书用的,必须去加! 它证明 "这个域名归你管"。
六、第四步:去访问域名的 DNS 商加记录
登录访问域名(blog.example.com)的 DNS 服务商(阿里云 / 腾讯云 /Cloudflare 都行),添加两条记录:
6.1 证书验证记录(必加)
记录类型: CNAME
主机记录: _acme-challenge.blog
记录值: <刚才 Cloudflare 给的那串>.example.com.cm.acme.cloudflare.com
TTL: 自动/600
6.2 先加一条临时的 A 记录(指向 Cloudflare 默认 IP)
等证书期间,先让域名能访问。随便挑一个 Cloudflare 官方 IP 填上(比如 104.16.124.96):
记录类型: A
主机记录: blog
记录值: 104.16.124.96
TTL: 自动/600
这只是临时的,等会要换成优选 IP。
七、第五步:等证书生效
回到 Cloudflare 的 Custom Hostnames 页面,盯住刚才添加的域名:
- 状态从 Pending(等待中) → Active(生效) 大概需要 几分钟到 24 小时,一般 10 分钟内
- 变成 Active 后,点开详情,确认 证书状态 = Active,证书主机名 = blog.example.com
🎉 到这一步,
https://blog.example.com已经能打开你的博客了(走的是 Cloudflare 默认节点,可能有点慢,但能用)。
八、第六步:测出优选 IP(核心!)
8.1 下载测速工具 CloudflareSpeedTest
GitHub 开源项目:https://github.com/XIU2/CloudflareSpeedTest/releases
下载对应你系统的版本:
- Windows:
CloudflareST_windows_amd64.zip - Linux:
CloudflareST_linux_amd64.tar.gz
🔧 国内下载慢?把下载链接里的
github.com换成ghproxy.com/或gh-proxy.com/前缀。
8.2 运行测速
Windows: 解压后双击运行 CloudflareST.exe
Linux:
tar -zxvf CloudflareST_linux_amd64.tar.gz
chmod +x CloudflareST
./CloudflareST
8.3 看结果
测完会生成一个 result.csv 文件,按延迟从低到高排序:
IP 地址, 丢包率, 平均延迟, 下载速度
172.64.32.1, 0.00, 18.50, 85.32
162.159.16.5, 0.00, 22.10, 78.90
...
挑延迟最低、速度最快的 3~5 个 IP 记下来。
💡 通常 172.64.x.x(香港)、162.159.x.x(香港 / 新加坡)段国内直连不错。不同地区结果不一样,以你自己测的为准。
💡 嫌麻烦也可以去网上搜 "Cloudflare 优选 IP 每日更新",有些网站每天自动测好公布,直接用。但自己测的最准。
九、第七步:把域名切到优选 IP(加速生效!)
回到访问域名的 DNS 服务商,把刚才那条临时 A 记录改成优选 IP:
记录类型: A
主机记录: blog
记录值: 172.64.32.1 ← 换成你测出来的优选 IP
TTL: 自动/600
想更稳一点? 加多条 A 记录轮询(前提是测出的 IP 都在同一优选段,别乱混):
blog → 172.64.32.1
blog → 162.159.16.5
blog → 172.64.33.2
保存后等 1~5 分钟(DNS 生效时间)。
十、第八步:验证加速效果
10.1 看解析
nslookup blog.example.com
返回的 IP 是你填的优选 IP 就对了。
10.2 看延迟
ping blog.example.com
国内延迟如果是 20~60ms,说明优选成功(之前可能是 150~300ms)。
10.3 浏览器实测
打开 https://blog.example.com,F12 打开开发者工具 → Network 标签,刷新页面:
- 首屏加载时间明显变短
- 看 DNS Lookup 和 TTFB 时间是否下降
🚀 成功的话,速度对比:优化前 3 秒 → 优化后 0.8 秒,体感巨大。
十一、日常维护与避坑指南
⚠️ 坑 1:优选 IP 会失效
Cloudflare 的 IP 段和国内网络环境一直在变,优选 IP 不是永久的。建议:
- 每个月重新测一次速,更新 A 记录
- 失效的征兆:网站突然变慢、ping 不通、502
⚠️ 坑 2:个别 IP 可能被干扰
极少数优选 IP 的 443 端口可能在国内被干扰。遇到就打不开——换一个 IP 就行,多备几个。
⚠️ 坑 3:访问域名别在 Cloudflare 开代理
如果你的访问域名也在 Cloudflare 托管,不要开橙色云朵(代理模式),否则流量会绕两圈 Cloudflare,等于没优选。用灰色云朵(仅 DNS)或者干脆放别的 DNS 商。
⚠️ 坑 4:证书掉了
Custom Hostname 的证书 90 天自动续期,只要 _acme-challenge 那条 CNAME 记录不要删,就不用管。
✅ 维护清单(每月一次)
- 跑一遍 CloudflareST 测速
- 更新 A 记录到新优选 IP
- 检查 Custom Hostname 状态是否 Active
- 顺手清一下浏览器缓存再测速
十二、最终架构回顾
访客(国内) → 优选IP(香港/日本, 20ms)
→ Cloudflare边缘(识别 blog.example.com)
→ 回源(你的Tunnel/服务器)
→ Halo(8090)
和上一篇对比:
| 方案 | 国内速度 | 难度 | 适合 |
|---|---|---|---|
| 纯 Tunnel(上一篇) | 慢(绕美国) | ⭐ 简单 | 先让网站能访问 |
| SaaS + 优选(本篇) | 快(直连港日) | ⭐⭐⭐ 中等 | 追求国内体验 |
写在最后
技术栈玩明白了,你甚至可以把 SaaS + 优选套用到任何 Web 服务上——不只是 Halo,Next.js、WordPress、任何监听端口的服务都行。
有任何问题,评论区见!如果这篇帮到你了,记得分享给同样在折腾建站的朋友 ~ 🎉
