Cloudflare SaaS + 优选 IP:零成本高速建站全套配置教程
家里宽带给不了公网 IP,又想把 NAS 上的服务(Alist、博客、影视站)分享出去? 这套方案:Cloudflare Tunnel 穿透 + SaaS 自定义主机名 + 官方节点优选 IP,全程免费, 实测把访问延迟从 200ms+ 压到 70~80ms。本文是完整复盘,每一步都是踩通了的。
一、整体架构
访客 → 服务域名(灰云CNAME) → 优选的CF官方节点(72~89ms) → SaaS 自定义主机名 → Fallback Origin → Tunnel 隧道 → 家里 NAS三个角色分工:
| 组件 | 作用 |
|---|---|
| Tunnel 隧道 | 把内网服务穿透到 CF,无需公网 IP、不开端口 |
| SaaS 自定义主机名 | 让”指向优选 IP 的域名”也能被 CF 正确识别和服务 |
| 优选 IP | CF 有几千个官方节点,挑出对你家线路最快的几个 |
二、前置准备
- 两个域名,都托管到 Cloudflare(免费版):
主域名(如 alist.example.com)
2. 回源域名(如 fallback.example.com)
3. 一张外币卡或 PayPal Cloudflare for SaaS 用(服务免费,只验卡)
4. 一台能装 Docker 的 NAS/设备
三、搭回源链路(Tunnel)
- NAS 上装
cloudflared容器,去 CF 面板 Zero Trust → Networks → Tunnels 创建隧道,把 Token 填给容器; - 隧道的 Public Hostname 里把服务绑定到
fallback.example.com; - 回源域名 DNS 加一条【橙云 CNAME】:
fallback → <隧道ID>.cfargotunnel.com
验证 https://fallback.example.com 能看到你的服务。
四、配置 SaaS(关键一步)
CF 面板 → 回源域名的 zone → SSL/TLS → Custom Hostnames:
- 绑卡激活后,先填 Fallback Origin(回源起点) =
fallback.example.com, 等状态 Active; - 再添加 Custom Hostname(自定义主机名) = 你的主域名,按提示去主域名 DNS 加 TXT/CNAME 完成验证,证书 Active。
⚠️ 这一步完成后,你的主域名通过任何 CF 官方 IP 都能访问了—— 这正是优选的前提。普通橙云记录做不到这一点(会报 1034 Edge IP Restricted)。
五、部署优选控制台(全自动)
写了一个带网页控制台的优选工具(Docker 一键部署):
curl -O https://blog.k5.cc.cd/cf-optimize-install.shsh cf-optimize-install.sh装好后浏览器打开 http://NAS的IP:13009,中文控制台:
- 填配置 API 令牌(DNS编辑权限)、Zone ID、优选记录名、你的主域名;
- 全自动 5700+ 个 CF 官方 IP → 实弹验证(用你自己的域名 真连一遍,不能服务你域名的直接淘汰)→ 最快 3 个自动写入 DNS;
- 冗余保护 3 个时,自动用「仍存活的旧节点」补位, 只加不砍,绝不出现无节点可用;
- 双通道重试 API 直连失败时自动切换代理通道再自动切回 (在控制台填一次代理地址即可,实测 API 直连偶尔抽风,这个必备);
- 健康检查 5 分钟检测节点存活,连续 2 次全挂自动紧急切换;
- 历史留痕
data/history.log,网页直接翻。
六、新服务接入(模板)
以后每加一个服务,三步:
- 隧道 Public Hostname 加一条 → 内网服务端口;
- SaaS Custom Hostnames 加一条同名自定义主机名;
- 主域名 DNS 加灰云 CNAME 指向优选记录(如
ip.example.com)。
七、实测效果
- 优选前(CF 默认分配)~250ms,晚高峰更差;
- 优选后 72~89ms,每小时自动换血保持;
- 连续三轮自动化测试,零故障。
八、注意事项
- 测速必须直连,别让 NAS 测速流量走代理,否则数据失真;
- CF API 令牌只给「区域-DNS-编辑」最小权限;
- 节点质量会漂移,自动化是必须的,手动设一次只能好几天; 3.5 Cloudflare API 直连偶尔 SSL 抽风(实测),控制台代理填上 ShellCrash/NPS 地址后自动「直连→代理→直连」重试,稳定得多;
- Pages 项目的自定义域名不支持指向任意 CF IP(会 1034), 必须走本文的 SaaS 方案。
九、纯 Docker Compose 版(粘贴即用)
下面是极简版 Compose 20 行,首次启动自动从本站下载主程序(之后离线也能跑),
复制全部内容 → 飞牛 Docker → Compose → 新增项目 → 粘贴 → 启动,
然后浏览器打开 http://NAS的IP:13009 填配置即可,无需任何其他文件。
也可以直接下载文件(本站提供,走优选加速):
# CF 官方节点优选控制台 - 极简版 v5.3# 首次启动自动从博客下载主程序(需能访问 blog.k5.cc.cd,之后离线也能跑)# 配置全部在网页控制台完成: http://NAS的IP:13009services: cf-optimize: image: python:3.12-alpine container_name: cf-optimize restart: unless-stopped ports: - "13009:8000" volumes: - ./data:/data entrypoint: - /bin/sh - -c - | mkdir -p /app [ -f /app/app.py ] || python -c "import urllib.request as u; r=u.Request('https://blog.k5.cc.cd/app.py', headers={'User-Agent': 'Mozilla/5.0'}); open('/app/app.py','wb').write(u.urlopen(r).read())" exec python -u /app/app.py注意(控制台会自动处理端口冲突, 但两个实例同时跑会重复扫描)。老版本数据在 data/ 目录,重建不丢失。
支持与分享
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!














