Life, half is memory, half is to continue.

Cloudflare

By Vincent. @2026.5.6 • 190
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 设计集成为系统或者做成工具!详情看官方文档

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