Cloudflare 免费栈能搭多少东西
这台小站、GitHub 加速、邮箱面板,本质上都跑在 Cloudflare 的免费额度里。 下面按「我用它干了什么」整理一遍,附带踩过的坑。
各组件我拿来做什么
- Workers:GitHub 反代、邮箱后端、几个模型 API 的转发。适合「有请求逻辑」的场景。
- Pages:纯静态站,也就是你现在看的这个博客。直接拖一个目录上去就能用。
- KV:设备池、会话、配置这类「读多写少」的小状态。
- D1:SQLite 形态的库,邮箱的邮件索引、订阅计划这类结构化数据。
- R2:图片、附件等大对象。没有出网流量费是它的最大优点。
- Email Routing:把域名邮箱转发到真实信箱,配合 Worker 还能做收信落库。
- Tunnel(cloudflared):把本机没有公网 IP 的服务安全地暴露出去,不用开防火墙端口。
踩坑清单
1. 「Worker 绑自定义域名」和「路由」是两回事
自定义域名(custom domain)会顺带建好 DNS 记录并强制走 Cloudflare 代理; 而路由(route)只是按 pattern 把某个区域的流量交给脚本。 混用的时候很容易出现「域名解析了但没生效」——先确认到底是哪种绑定方式。
2. 别用通配符路由覆盖整站
图省事写 *.example.com/* 会把所有子域都交给这个 Worker,
连隧道、其他 Worker 的域名一起截走,排障时非常痛苦。按需逐个绑子域,可控得多。
3. 隧道对应的主机名「看起来存在」不代表「活着」
DNS 里有一条指向 *.cfargotunnel.com 的 CNAME,只说明当初配过。
隧道进程没跑时,访问会返回 Cloudflare 1033 错误 —— 也就是「隧道未连接」。
看到 530/1033,第一件事是去查隧道进程,而不是怀疑 DNS。
4. 免费额度的真实瓶颈是「请求数」和「CPU 时间」
Workers 免费每天 10 万次请求;单次 CPU 时间也有限制。 所以做代理时要尽量「少做重活」:大文件直接 302、能缓存的加 Cache-Control、 文本改写只针对必要的内容类型。
5. 静态站也可以很能打
博客、工具集这类东西完全不需要后端: 所有计算放在浏览器里(纯前端工具就是这么做 ), 站点本身只是几 MB 的静态文件,Pages 免费额度足够个人站跑很久。
成本感受
以上全部用免费套餐:Pages 静态托管、Workers 每天 10 万请求、KV/D1/R2 都有可观的免费额度。 真正会产生费用的通常是「超出免费额度的流量」和「更长的 CPU 时间」, 个人自用几乎碰不到。
小结
Cloudflare 免费栈最舒服的地方是边界清晰: 静态归 Pages、有逻辑的归 Workers、状态归 KV/D1、对象归 R2、内网服务归 Tunnel。 想清楚每样东西该放哪,组合起来就能顶掉一大半「需要买服务器」的需求。