跳转到内容

Cloudflare 全面使用指南 2026:DNS + CDN + R2 + Pages + Tunnel 一站式

如果你玩 VPS、自建服务、写博客,几乎绕不开 Cloudflare。它免费提供了 DNS 解析、CDN 加速、SSL 证书、DDoS 防护、对象存储、静态托管、内网穿透等一整套基础设施——对个人开发者和站长来说,是「降本增效」的瑞士军刀。

但 Cloudflare 功能庞杂,新手很容易只用到了 DNS 解析这一层。本文是 2026 年最新版 Cloudflare 全景指南,把 DNS、CDN、SSL、R2、Pages、Tunnel、Zero Trust、WAF 串成一条完整链路,最后用本站 y-m.top 的真实实践收尾。


一、Cloudflare 是什么?免费版能做什么

Cloudflare 是一家边缘网络服务商,在全球 300+ 城市部署了数据中心。你的流量会先经过 Cloudflare 的边缘节点,再回源到你的服务器——这就带来了加速、安全和隐藏源站 IP 三大收益。

免费版核心能力

能力免费额度说明
DNS 解析无限域名/记录比多数付费 DNS 还快
CDN 缓存无限流量静态资源全球缓存
SSL/TLS全自动证书支持 Strict 模式
DDoS 防护无限L3/L4/L7 全防护
WAF 托管规则基础规则集防常见攻击
R2 存储10 GB 免费无出口流量费
Pages无限请求/带宽静态站点托管
Tunnel无限内网穿透零开放端口
Zero Trust50 用户免费访问控制/SaaS 代理

💡 结论:个人项目几乎可以全程用免费版,付费版(Pro $20/月)主要增加 WAF 自定义规则、Bot 防护和图像优化。


二、域名接入与 DNS

接入方式(推荐 NS 改派)

  1. 在 Cloudflare 添加站点,输入你的域名(如 example.com)。
  2. 复制 Cloudflare 提供的 两条 NS 记录(如 candy.ns.cloudflare.com)。
  3. 到你的域名注册商后台,把 NS 改成 Cloudflare 的。
  4. 等待 24-48 小时全球生效(通常几小时内)。

常用 DNS 记录

类型用途示例
A域名指向 IPv4@ → 1.2.3.4
AAAA域名指向 IPv6@ → 2001:db8::1
CNAME别名(指向另一个域名)www → example.com
MX邮件服务器配邮件服务用
TXT验证/SPF/DKIM域名所有权验证
CNAME 扁平化根域用 CNAMECF 独有特性

橙色云(Proxy)原理

每条记录右侧有个云朵图标:

  • 橙色(Proxied):流量走 CF 边缘,隐藏真实 IP、启用 CDN 和防护。
  • 灰色(DNS only):仅做解析,直连源站(不 hides IP、不缓存)。

⚠️ 邮件相关记录(MX)不要开橙色代理,否则邮件会出问题。


三、CDN 与缓存加速

缓存原理

CF 对静态资源(图片、CSS、JS、字体)默认缓存。动态内容(HTML/API)默认不缓存,可用 Cache Rules 自定义。

缓存规则实战

场景规则效果
全站静态站匹配 /*,边缘 TTL 1 天VitePress/Hugo 整站加速
图片目录匹配 /images/*,TTL 1 月图床省流量
跳过 API匹配 /api/*,缓存绕过动态不缓存

关键优化项

  • 开发模式(Development Mode):临时绕过缓存 3 小时,调试改完即关。
  • Brotli 压缩:Speed → Optimization 开启,比 Gzip 再小 15-20%。
  • HTTP/3 (QUIC):默认开启,移动端提速明显。
  • Auto Minify:可选压缩 HTML/CSS/JS(现代站点多已自己压缩,谨慎开避免冲突)。

四、SSL/TLS 证书配置

四种加密模式

模式说明适用
Off全程不加密❌ 不推荐
Flexible浏览器→CF 加密,CF→源站不加密源站无证书时临时
Full两端都加密,但 CF 不验证源站证书源站有自签证书
Full (Strict)两端加密 + CF 验证源站证书✅ 推荐

Origin Certificate(源站证书)

在 Strict 模式下,源站需要一个 CF 签发的证书(15 年有效、仅 CF 信任):

  1. SSL/TLS → Origin Server → Create Certificate。
  2. 下载证书和私钥,配到 Nginx/Caddy。
  3. 加密模式选 Full (Strict)

✅ 这样即使有人直接访问你的源站 IP,也看不到真实内容(且被 CF 隐藏)。


五、R2 对象存储:S3 平替 + 图床

R2 vs S3 核心差异

维度Cloudflare R2AWS S3
出口流量费免费按量收费(贵)
存储价格$0.015/GB/月$0.023/GB/月
免费额度10 GB
兼容 APIS3 兼容原生
绑定 CDN原生零延迟需额外配 CloudFront

图床/静态资源实战

  1. R2 → Create bucket(如 my-blog-images)。
  2. 开启 Public access 或用 workers.dev 域名访问。
  3. 把文章图片传到 R2,引用 https://img.example.com/xxx.webp
  4. 配一个 img. 子域 CNAME 到 R2,开橙色代理即享受全球 CDN。

💡 本站图片资源就部分托管在 R2,配合 WebP 格式,月流量零成本。


六、Cloudflare Pages 静态部署

工作流

  1. Pages → Connect to Git → 选 GitHub 仓库。
  2. 设置构建命令和输出目录(如 VitePress:pnpm build.vitepress/dist)。
  3. 每次 push 自动构建,分配 *.pages.dev 预览地址。
  4. 自定义域名绑定,自动签发证书。

框架预设

Pages 内置 VitePress、Next.js、Hugo、Astro、Vue/React 等预设,无需手写构建配置。

与 R2 搭配:构建产物放 Pages,大图放 R2,整站零服务器成本。


七、Cloudflare Tunnel 内网穿透

如果你有家庭宽带/内网服务想暴露到公网,Tunnel 比 frp/ngrok 更省心

  • 无需公网 IP、无需开放任何端口。
  • 源站 IP 完全隐藏(流量经 CF 边缘)。
  • 免费、稳定、自带 HTTPS。

部署步骤(已在前文单篇详解):

bash
# 1. 安装 cloudflared
brew install cloudflare/cloudflare/cloudflared

# 2. 登录并创建隧道
cloudflared tunnel login
cloudflared tunnel create my-tunnel

# 3. 配置 ~/.cloudflared/config.yml
# tunnel: my-tunnel
# credentials-file: /root/.cloudflared/xxx.json
# ingress:
#   - hostname: service.example.com
#     service: http://localhost:8080
#   - service: http_status:404

# 4. 绑定域名并启动
cloudflared tunnel route dns my-tunnel service.example.com
cloudflared tunnel run my-tunnel

八、Zero Trust 与 WAF 防护

Zero Trust 访问策略

免费 50 用户,可给内网服务加一层登录鉴权:

  • 路径:Zero Trust → Access → Applications。
  • 设置「只有特定邮箱/国家/IP 能访问」你的后台(如 Grafana、phpMyAdmin)。
  • 即使服务端口对外开放,没有 CF 登录也进不去。

WAF 与速率限制

功能用途
托管规则集一键防 SQL 注入/XSS/恶意 UA
自定义规则按国家/UA/IP 拦截(免费版有限)
Rate Limiting防 CC/刷接口(付费版更灵活)
Bot 防护区分人与爬虫(Pro 以上)

💡 个人站点免费版开启「托管规则集」+ 关闭不必要的端口,已能挡掉 90% 扫描。


九、本站实践:VitePress + 图床

本站 y-m.top(VitePress 构建)的实际架构:

  1. DNS + CDN:域名 NS 改派 CF,全站橙色代理,HTML 用 Cache Rule 缓存,静态资源全球加速。
  2. SSL:源站 Nginx 配 CF Origin Certificate,加密模式 Full (Strict)。
  3. 图床:文章图片上传 R2(WebP),img.y-m.top CNAME 到 R2 并开 CDN。
  4. 部署:GitHub Actions 构建 VitePress → 推送 Pages / 或 CF Pages 自动构建。
  5. 监控:节点暴露给 Prometheus,经 Tunnel 走 CF 隐藏源站(见下文延伸)。

这一套组合让本站实现了「零服务器月租 + 全球访问快 + 源站 IP 隐藏」。


十、常见问题 FAQ

改了 NS 后网站打不开 / 邮箱收不到?

检查:① NS 是否完全替换为 CF 两条;② MX 记录是否误开橙色代理(应灰色);③ DNS 记录是否完整迁移(原服务商的所有 A/CNAME/MX 都要在 CF 重建)。

缓存不更新,改了内容还是旧的?

Development Mode 临时绕过;或在 Caching → Configuration 点「Purge Everything」清全站缓存;也可以用 Cache Rules 给动态路径设「No-cache」。

源站 IP 会不会被暴露?

只要相关记录开橙色代理 + 不开任何灰色直连记录指向源站,CF 会隐藏真实 IP。注意:Tunnel 方式根本不暴露端口,更安全。仍可配合「仅允许 CF 边缘 IP 访问源站 80/443」的防火墙规则双重保险。

R2 真的没有出口流量费吗?

对,R2 不收出口流量费(这是相比 S3 最大的优势),只收存储和请求费。适合图床、静态分发等读多写少场景。A 类/B 类请求有免费额度,超限很便宜。

免费版限速严重吗?影响正常访问吗?

正常访问不受影响。限速主要针对「异常高频请求」和「部分高级功能(如某些 WAF 规则、Bot 防护)」。普通博客/个人站免费版完全够用。

Pages 和 Netlify/Vercel 怎么选?

三者都是优秀静态托管。Pages 优势是与 CF 生态(R2/DNS/Tunnel)无缝打通、国内访问通常更稳;Netlify/Vercel 在 DX 和边缘函数上更成熟。本站因已用 CF,选 Pages 最省事。

Tunnel 和直接开放端口,哪个更好?

Tunnel 更好:零开放端口、源站 IP 隐藏、自带 HTTPS、不怕家宽无公网 IP。唯一前提是依赖 CF 网络(CF 挂了你也挂)。关键服务建议 Tunnel + 备用公网端口双保险。

如何确认 SSL 处于 Strict 模式且证书有效?

SSL/TLS → Overview 确认模式为 Full (Strict);源站配好 Origin Certificate;用 curl -vI https://你的域名 看证书签发者为 "Cloudflare Inc ECC CA",且直接访问源站 IP 应被拒或显示 CF 证书。


延伸阅读



延伸阅读

免责声明

本文仅供技术交流和学习参考。涉及第三方服务的链接可能包含 sponsored 标记,请自行核实服务条款、价格和可用性,并遵守当地法律法规。