Life, half is memory, half is to continue.

Cloudflare

By Vincent. @2026.5.6 • 88
Cloudflare

索引目录

为什么是 Cloudflare?

1. DNS 解析

2. CDN 全球加速

3. 免费 SSL 证书(15 年!支持泛域名)

4. 前端页面部署(Pages)

5. 计算层(Workers)

6. 数据库(D1 SQLite)

7. 图床(R2 对象存储)

8. 邮箱转发(Email Routing)

9. 短链接(Workers + KV)

10. 内网穿透(Cloudflare Tunnel)

11. 安全限制特定ip 才能访问

总结:免费套餐一览表

为什么是 Cloudflare?

Cloudflare 是全球最大的 CDN 和网络安全公司之一,覆盖 300+ 个数据中心。它的商业模式是向企业卖高级套餐,所以免费套餐非常慷慨——用来”钓”你升级。对个人开发者来说,这是纯赚。

注册准备:


1. DNS 解析

用到的服务:Cloudflare DNS

Cloudflare 的 1.1.1.1 是全球解析最快的公共 DNS 之一,托管在 Cloudflare 的域名同样享受这套基础设施。

迁移域名 DNS 到 Cloudflare:

1. 注册 Cloudflare,添加域名
2. Cloudflare 自动扫描现有 DNS 记录
3. 确认记录无误
4. 去域名注册商(GoDaddy/Namecheap/阿里云)
   修改 NS 记录为 Cloudflare 提供的两个 NS 地址
5. 等待 24 小时生效(通常几分钟)

特点:

实战经验:
通常你可能没有在cloudflare 购买域名,需要从其他域名购买平台加入到cloudflare! 所以你需要连接、传送你域名过来、或者购买一个!考率到付款问题,比如我比较喜欢支付宝支付,cloudflare没有,我基本是连接域名!基本步骤是:

  1. 连接域名Connect your domain、复制dns服务器
  2. 去你的域名商、修黏贴改dns服务器
  3. 初次使用选择免费套餐,10分钟左右一半会显示域名添加成功,未成功一般是配置错误
  4. 如果你有大量域名需要解析、比如站群几百站、推荐使用工具来操作、clouflare 提供了很好的接口批量操作

2. CDN 全球加速

用到的服务:Cloudflare CDN(核心功能)

把域名 NS 迁移到 Cloudflare 后,开启橙色云朵即自动享受 CDN。

免费套餐包含:

开启方式:

Dashboard → 选择域名 → DNS
→ 找到你的 A 记录
→ 点击云朵图标,变成橙色(Proxied 状态)

进阶优化:

Speed → Optimization
→ 开启 Auto Minify(压缩 JS/CSS/HTML)
→ 开启 Brotli 压缩
→ 开启 Rocket Loader(异步加载 JS)


3. 免费 SSL 证书(15 年!支持泛域名)

前提: 域名必须托管在 Cloudflare DNS,且开启橙色云朵(代理模式)。Origin Certificate 只在 Cloudflare 代理链路中有效,不能直接用于裸 IP 访问。

用到的服务:SSL/TLS → Origin Certificates

普通 Let’s Encrypt 证书只有 90 天,Cloudflare Origin Certificate 直接给你 15 年,还支持泛域名(*.yourdomain.com)。

申请步骤:

Cloudflare Dashboard
→ 选择你的域名
→ SSL/TLS → Origin Server
→ Create Certificate
→ 选择有效期:15 years
→ 填写域名:yourdomain.com, *.yourdomain.com
→ 下载 .pem 和 .key 文件
→ 部署到你的服务器 Nginx/Apache

Nginx 配置示例:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate     /etc/ssl/cloudflare/cert.pem;
    ssl_certificate_key /etc/ssl/cloudflare/key.pem;
}

实战经验

以上是用于服务器部署的方式,你也可以90天的Let’s Encrypt 自动无限续费、每月定时更新!

如果你的服务器只是部署了前端,比如nextjs、vue、react,那你直接使用flex 灵活ssl 方式就好了,不用动nginx 配置,我前端都是这样部署的! 注意这里很重要,选错会影响你的网站访问!


4. 前端页面部署(Pages)

用到的服务:Cloudflare Pages

对标 Vercel / Netlify,免费无限带宽,支持绑定 GitHub 自动 CI/CD。

特点:

部署步骤:

适合场景: 个人博客、文档站、落地页、工具站。

实战经验
数据量一大,站点大一点会跑不动,需要买服务器部署!
每次更新了项目源码,需要重新编译部署!
目前 worker & pages 在同一入口 默认worker
账号主页 Build -> Compute -> worker & pages,pages 可以采用hook 方式更新编译项目


5. 计算层(Workers)

用到的服务:Cloudflare Workers

免费额度:每天 10 万次请求,每次最长 10ms CPU 时间。

Workers 是 Cloudflare 的边缘计算平台,代码跑在离用户最近的节点上。

典型用法:

① API 中转(解决跨域)

export default {
  async fetch(request) {
    const url = new URL(request.url);
    const targetUrl = "https://api.openai.com" + url.pathname + url.search;

    return fetch(targetUrl, {
      method: request.method,
      headers: request.headers,
      body: request.body,
    });
  }
};

② AI 套壳(OpenAI / Claude API 中转)

③ 当代理节点(见第 1 条)


6. 数据库(D1 SQLite)

用到的服务:D1 Database

免费额度:5GB 存储,每天 500 万次读取,10 万次写入。

D1 是 Cloudflare 的边缘 SQLite 数据库,配合 Workers 使用,零运维。

创建和使用:

# 用 Wrangler CLI 创建数据库
npx wrangler d1 create my-database

# 执行 SQL
npx wrangler d1 execute my-database --command "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)"

在 Worker 中查询:

export default {
  async fetch(request, env) {
    const { results } = await env.DB.prepare(
      "SELECT * FROM users WHERE id = ?"
    ).bind(1).all();

    return Response.json(results);
  }
};

wrangler.toml 绑定:

[[d1_databases]]
binding = "DB"
database_name = "my-database"
database_id = "your-database-id"


7. 图床(R2 对象存储

用到的服务:Cloudflare R2

免费额度:10GB 存储,每月 100 万次 A 类操作(写),1000 万次 B 类操作(读),出站流量完全免费

对比 AWS S3:S3 出站流量按 GB 收费,R2 出站免费,这是核心优势。

创建 R2 Bucket:

Dashboard → R2 → Create bucket → 填写名称

通过 Workers 提供公开访问:

export default {
  async fetch(request, env) {
    const key = new URL(request.url).pathname.slice(1);
    const object = await env.MY_BUCKET.get(key);

    if (!object) return new Response("Not Found", { status: 404 });

    return new Response(object.body, {
      headers: { "Content-Type": object.httpMetadata.contentType }
    });
  }
};

适合场景: 博客图床、静态资源托管、备份存储。
和aws云服务对比 cloudflare 使用会更简单、更容易配置、效果也不差!
并不是完全免费的使用需要绑定支付方式!


8. 邮箱转发(Email Routing)

用到的服务:Email Routing

免费功能:无限别名,绑定自己的域名,转发到任意邮箱。

配置步骤:

Dashboard → 选择域名 → Email → Email Routing
→ 开启 Email Routing
→ Add address:填写别名(如 hello@yourdomain.com)
→ 转发到你的 Gmail / QQ 邮箱

玩法:

通配符规则:在 Catch-all address 里设置,所有未匹配的邮件统一转发。


9. 短链接(Workers + KV)

用到的服务:Workers + KV Storage

KV 免费额度:每天 10 万次读取,1000 次写入,1GB 存储。

实现思路:

用户访问 go.yourdomain.com/abc
→ Worker 查询 KV:abc → https://long-url.com/very/long/path
→ 302 重定向

核心代码:

export default {
  async fetch(request, env) {
    const slug = new URL(request.url).pathname.slice(1);

    if (!slug) return new Response("Short URL Service");

    const target = await env.LINKS.get(slug);
    if (!target) return new Response("Not Found", { status: 404 });

    return Response.redirect(target, 302);
  }
};

添加短链(通过 Wrangler):

npx wrangler kv:key put --binding=LINKS "abc" "https://your-long-url.com"

适合有营销推广短链接需求的时候使用


10. 内网穿透(Cloudflare Tunnel

用到的服务:Cloudflare Tunnel(原 Argo Tunnel)

免费功能:把本地服务暴露到公网,走 Cloudflare 的加密隧道,不需要公网 IP,不需要买服务器。

安装 cloudflared:

# macOS
brew install cloudflare/cloudflare/cloudflared

# Linux
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x cloudflared-linux-amd64
sudo mv cloudflared-linux-amd64 /usr/local/bin/cloudflared

快速使用(临时隧道):

# 本地跑着一个 3000 端口的服务
cloudflared tunnel --url http://localhost:3000
# 会生成一个临时的 *.trycloudflare.com 地址

绑定自定义域名(持久隧道):

cloudflared tunnel login
cloudflared tunnel create my-tunnel
cloudflared tunnel route dns my-tunnel demo.yourdomain.com

配置文件 ~/.cloudflared/config.yml

tunnel: <tunnel-id>
credentials-file: ~/.cloudflared/<tunnel-id>.json
ingress:
  - hostname: demo.yourdomain.com
    service: http://localhost:3000
  - service: http_status:404

cloudflared tunnel run my-tunnel

适合场景: 给客户演示本地 demo、家庭 NAS 远程访问、开发环境 Webhook 调试。

新手可以先使用ngork免费额度,再结合这个cloudflared工具来使用, 免费是真香!


11. 安全限制特定ip 才能访问

用到的服务:WAF 自定义规则(推荐Free 计划可用)

选择你的域名
进入 Security → WAF → Custom Rules
点击 Create rule,配置如下:
仅限加拿大、美国ip可以访问你的站点

除此之外还可以使用 IP Access Rules(简单封锁/允许)

进入 Security → WAF → Tools
在 IP Access Rules 中:
Value 填写国家代码(如 CN)| Action 选 Block 或 Allow |应用范围选 This Website 或 All websites

或者配置防火墙规则表达式(精细控制)

只允许中国大陆 + 香港访问,其余封锁(not ip.geoip.country in {“CN” “HK”})
允许特定国家 + 特定路径组合 (ip.geoip.country ne “CN” and http.request.uri.path contains “/admin”)

总结:免费套餐一览表

服务免费额度适合场景
DNS免费域名解析
CDN无限流量全球加速
SSL15年,泛域名HTTPS证书
Pages无限带宽,500次构建/月前端部署
D1 数据库5GB小型应用数据存储
R2 存储10GB,出站免费图床、静态资源
KV1GB,10万读/天短链、配置存储
Email Routing无限别名邮箱管理、撸毛
Tunnel免费内网穿透
Workers10万次/天API中转
Security免费屏蔽风险ip 防护DDOS

Cloudfare API

Cloudfare 有非常丰富功能和应用,以上只是一小部分!如果只是一个站,你可以手动。如果有几十几百个站,可以结合api 设计集成为系统或者做成工具!详情看官方文档

扫码分享收藏
扫码分享收藏