Cloudflare 全栈升级指南:Workers、Zero Trust、R2 到常用命令一次整理
Cloudflare 最新更新内容汇总|附完整命令
说明:本文以 Cloudflare 近年产品线的主要更新方向为基础进行整理,覆盖 Cloudflare Workers、Pages、Zero Trust、Tunnel、WARP、R2、D1、KV、Turnstile、DNS、安全防护、缓存与开发者工具 等常用模块,并附上常见安装、更新、部署与排障命令。由于 Cloudflare 更新频率较高,实际功能状态建议以 Cloudflare 官方文档与控制台为准。
一、Cloudflare 更新方向总览
Cloudflare 近年来的更新重点,已经不再局限于传统的 CDN、DNS 和 DDoS 防护,而是逐步扩展为一个覆盖 边缘计算、安全访问、对象存储、数据库、AI 推理、应用防护、开发者平台 的综合云网络平台。
整体来看,Cloudflare 的最新更新可以概括为以下几个方向:
-
开发者平台持续增强
- Workers 运行时能力增强;
- Wrangler CLI 迭代频繁;
- Pages 与 Git 部署体验优化;
- D1、R2、KV、Durable Objects 等产品逐渐成熟;
- AI、Queues、Vectorize 等边缘应用能力不断扩展。
-
Zero Trust 安全体系完善
- Access、Gateway、Tunnel、WARP 等组件集成度提升;
- 更适合远程办公、内网穿透、私有应用访问;
- 对企业身份认证、设备姿态、策略控制支持更完善。
-
安全防护能力升级
- WAF 托管规则持续更新;
- Bot 管理能力增强;
- API Shield、安全分析、速率限制更加细化;
- Turnstile 替代传统验证码体验更友好。
-
边缘网络与缓存能力增强
- Cache Rules 替代部分 Page Rules 场景;
- Transform Rules、Origin Rules、Redirect Rules 更灵活;
- HTTP/3、QUIC、Brotli、Early Hints 等性能功能持续优化。
-
命令行和自动化能力提升
wrangler成为 Workers、Pages、R2、D1 等开发部署的核心工具;cloudflared成为 Tunnel、Access、Zero Trust 接入的重要工具;- API、Terraform、Docker 等方式让 Cloudflare 更适合自动化部署。
二、Cloudflare Workers 更新汇总
Cloudflare Workers 是 Cloudflare 开发者平台的核心产品之一,主要用于在 Cloudflare 全球边缘节点运行 JavaScript、TypeScript、Wasm 等代码。
1. Workers 运行时能力增强
Workers 的定位已经从简单的边缘函数,逐步扩展为完整的 serverless 应用运行环境。常见更新方向包括:
- 支持更标准化的 Web API;
- 与 Service Worker、Fetch API、Streams API 更紧密结合;
- 支持模块化 Worker;
- 支持环境变量、Secrets、Bindings;
- 支持与 KV、R2、D1、Durable Objects 等资源绑定;
- 支持本地开发、预览和远程部署。
2. 安装 Wrangler CLI
Wrangler 是 Cloudflare 官方命令行工具,用于创建、开发、部署 Workers、Pages、R2、D1 等项目。
使用 npm 安装
npm install -g wrangler
查看版本
wrangler --version
登录 Cloudflare
wrangler login
查看当前账号
wrangler whoami
三、创建并部署 Workers 项目
1. 创建 Workers 项目
npm create cloudflare@latest my-worker
进入项目目录:
cd my-worker
安装依赖:
npm install
本地启动开发环境:
npm run dev
或直接使用:
wrangler dev
2. 部署 Workers
wrangler deploy
如果项目中配置了 wrangler.toml,可以直接按照配置部署。
示例 wrangler.toml:
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2024-06-01"
[vars]
ENVIRONMENT = "production"
部署命令:
wrangler deploy
四、Workers 环境变量与密钥管理
Cloudflare Workers 支持普通环境变量和加密密钥。
1. 普通变量配置
在 wrangler.toml 中配置:
[vars]
API_BASE_URL = "https://api.example.com"
APP_NAME = "cloudflare-demo"
2. 设置 Secret
wrangler secret put API_TOKEN
执行后输入密钥内容。
3. 查看 Secret 列表
wrangler secret list
4. 删除 Secret
wrangler secret delete API_TOKEN
五、Cloudflare Pages 更新汇总
Cloudflare Pages 是面向前端项目、静态站点和全栈应用的部署平台,支持与 GitHub、GitLab 连接,也支持命令行直接部署。
1. Pages 主要更新方向
- 支持更多前端框架;
- 与 Workers Functions 集成;
- 支持预览环境;
- 支持自定义域名;
- 支持环境变量;
- 支持 Pages Functions;
- 支持通过 Wrangler CLI 部署。
2. 使用 Wrangler 部署 Pages
创建项目后,可以使用以下命令部署:
wrangler pages deploy ./dist --project-name=my-pages-project
如果是 Vite 项目,通常先构建:
npm run build
然后部署:
wrangler pages deploy dist --project-name=my-pages-project
3. 查看 Pages 项目
wrangler pages project list
4. 创建 Pages 项目
wrangler pages project create my-pages-project
5. 删除 Pages 项目
wrangler pages project delete my-pages-project
六、Cloudflare R2 更新汇总
Cloudflare R2 是对象存储服务,特点是与 S3 API 兼容,并且主打无出口流量费用,适合存储图片、视频、备份文件、静态资源等。
1. R2 常见应用场景
- 图床;
- 静态资源存储;
- 备份文件;
- 日志归档;
- 视频文件分发;
- 与 Workers 结合实现私有下载鉴权。
2. 创建 R2 Bucket
wrangler r2 bucket create my-bucket
3. 查看 Bucket 列表
wrangler r2 bucket list
4. 删除 Bucket
wrangler r2 bucket delete my-bucket
5. 上传文件到 R2
wrangler r2 object put my-bucket/example.txt --file ./example.txt
6. 下载 R2 文件
wrangler r2 object get my-bucket/example.txt --file ./downloaded-example.txt
7. 删除 R2 文件
wrangler r2 object delete my-bucket/example.txt
8. 查看 R2 对象
wrangler r2 object get my-bucket/example.txt
9. Workers 绑定 R2
wrangler.toml 示例:
name = "r2-worker"
main = "src/index.ts"
compatibility_date = "2024-06-01"
[[r2_buckets]]
binding = "MY_BUCKET"
bucket_name = "my-bucket"
Worker 示例代码:
export default {
async fetch(request: Request, env: Env): Promise {
const object = await env.MY_BUCKET.get("example.txt");
if (!object) {
return new Response("Object not found", { status: 404 });
}
return new Response(object.body);
},
};
七、Cloudflare D1 更新汇总
Cloudflare D1 是基于 SQLite 的 serverless 数据库,适合构建轻量级应用、后台系统、博客、表单、API 服务等。
1. 创建 D1 数据库
wrangler d1 create my-database
创建后会返回类似配置:
[[d1_databases]]
binding = "DB"
database_name = "my-database"
database_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
将其添加到 wrangler.toml。
2. 执行 SQL
wrangler d1 execute my-database --command "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT);"
3. 插入数据
wrangler d1 execute my-database --command "INSERT INTO users (name, email) VALUES ('Tom', 'tom@example.com');"
4. 查询数据
wrangler d1 execute my-database --command "SELECT * FROM users;"
5. 执行 SQL 文件
wrangler d1 execute my-database --file ./schema.sql
6. 本地执行 D1
wrangler d1 execute my-database --local --command "SELECT * FROM users;"
7. 远程执行 D1
wrangler d1 execute my-database --remote --command "SELECT * FROM users;"
八、Cloudflare KV 更新汇总
Cloudflare KV 是分布式键值存储,适合存储配置、缓存、小型元数据等。
1. 创建 KV Namespace
wrangler kv namespace create MY_KV
2. 创建预览 Namespace
wrangler kv namespace create MY_KV --preview
3. 写入 KV
wrangler kv key put --binding=MY_KV "site_name" "Cloudflare Demo"
4. 读取 KV
wrangler kv key get --binding=MY_KV "site_name"
5. 删除 KV
wrangler kv key delete --binding=MY_KV "site_name"
6. 列出 KV Keys
wrangler kv key list --binding=MY_KV
7. Workers 绑定 KV
wrangler.toml 示例:
[[kv_namespaces]]
binding = "MY_KV"
id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
preview_id = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
Worker 示例:
export default {
async fetch(request: Request, env: Env): Promise {
await env.MY_KV.put("hello", "world");
const value = await env.MY_KV.get("hello");
return new Response(value || "not found");
},
};
九、Cloudflare Tunnel 更新汇总
Cloudflare Tunnel 是 Zero Trust 体系中的重要组件,可以将本地服务或内网服务安全暴露到公网,而不需要开放服务器端口。
1. 安装 cloudflared
Ubuntu / Debian 安装
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
CentOS / RHEL 安装
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm -o cloudflared.rpm
sudo rpm -ivh cloudflared.rpm
macOS 安装
brew install cloudflare/cloudflare/cloudflared
Windows 使用 winget 安装
winget install --id Cloudflare.cloudflared
2. 查看 cloudflared 版本
cloudflared --version
3. 登录 Cloudflare
cloudflared tunnel login
执行后会打开浏览器,选择对应域名授权。
4. 创建 Tunnel
cloudflared tunnel create my-tunnel
5. 查看 Tunnel 列表
cloudflared tunnel list
6. 创建 DNS 记录
cloudflared tunnel route dns my-tunnel app.example.com
7. 配置 Tunnel
创建配置目录:
mkdir -p ~/.cloudflared
创建配置文件:
nano ~/.cloudflared/config.yml
示例配置:
tunnel: my-tunnel
credentials-file: /root/.cloudflared/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json
ingress:
- hostname: app.example.com
service: http://localhost:8080
- service: http_status:404
8. 运行 Tunnel
cloudflared tunnel run my-tunnel
9. 安装为系统服务
sudo cloudflared service install
启动服务:
sudo systemctl start cloudflared
设置开机自启:
sudo systemctl enable cloudflared
查看服务状态:
sudo systemctl status cloudflared
查看日志:
journalctl -u cloudflared -f
10. 更新 cloudflared
Linux 手动更新
cloudflared update
如果使用包管理器安装,也可以重新下载安装包:
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
macOS 更新
brew upgrade cloudflared
Windows 更新
winget upgrade --id Cloudflare.cloudflared
十、Cloudflare WARP 更新汇总
Cloudflare WARP 是 Cloudflare 提供的网络代理与安全接入客户端,常用于提升网络安全、接入 Zero Trust、设备管理和企业安全策略。
1. Ubuntu / Debian 安装 WARP
添加 Cloudflare GPG Key:
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
添加软件源:
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
更新软件源:
sudo apt update
安装 WARP:
sudo apt install cloudflare-warp
2. 注册 WARP
warp-cli registration new
3. 连接 WARP
warp-cli connect
4. 查看状态
warp-cli status
5. 断开连接
warp-cli disconnect
6. 设置模式
仅 DNS 模式:
warp-cli mode doh
WARP 代理模式:
warp-cli mode warp
7. 查看设置
warp-cli settings
8. 更新 WARP
sudo apt update
sudo apt upgrade cloudflare-warp
十一、Cloudflare DNS 与规则系统更新
Cloudflare DNS 一直是其核心能力之一。近年来,Cloudflare 将许多原本依赖 Page Rules 的功能逐步拆分到更专业的规则系统中,例如:
- Cache Rules;
- Redirect Rules;
- Transform Rules;
- Origin Rules;
- Configuration Rules;
- WAF Custom Rules。
这种拆分的好处是规则粒度更细、可维护性更好,也更适合复杂业务场景。
1. 常见 DNS 记录类型
| 类型 | 用途 |
|---|---|
| A | 指向 IPv4 地址 |
| AAAA | 指向 IPv6 地址 |
| CNAME | 指向另一个域名 |
| MX | 邮件服务器 |
| TXT | 文本验证、SPF、DKIM |
| NS | 域名服务器 |
| SRV | 服务定位 |
2. 使用 API 添加 DNS 记录
设置变量:
export CF_API_TOKEN="你的_API_TOKEN"
export CF_ZONE_ID="你的_ZONE_ID"
添加 A 记录:
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"type": "A",
"name": "app",
"content": "192.0.2.1",
"ttl": 1,
"proxied": true
}'
查询 DNS 记录:
curl -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records" \
-H "Authorization: Bearer $CF_API_TOKEN"
删除 DNS 记录:
curl -X DELETE "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/记录ID" \
-H "Authorization: Bearer $CF_API_TOKEN"
十二、Cloudflare Turnstile 更新汇总
Cloudflare Turnstile 是 Cloudflare 推出的验证码替代方案,相比传统图片验证码,Turnstile 更强调无感验证和用户体验。
1. Turnstile 适用场景
- 登录页防刷;
- 注册页防机器人;
- 评论区防垃圾内容;
- 表单提交保护;
- API 风控前置校验。
2. 前端接入示例
3. 后端校验示例
curl -X POST "https://challenges.cloudflare.com/turnstile/v0/siteverify" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data "secret=你的_SECRET_KEY&response=用户提交的_TOKEN"
十三、Cloudflare 缓存与性能更新
Cloudflare 的缓存策略近年来越来越规则化和精细化,用户可以通过控制台或 API 设定更复杂的缓存逻辑。
1. 常见性能功能
- Brotli 压缩;
- HTTP/2;
- HTTP/3;
- Early Hints;
- Tiered Cache;
- Argo Smart Routing;
- Polish 图片优化;
- Mirage;
- Cache Reserve;
- APO for WordPress。
2. 清理全部缓存
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'
3. 清理指定 URL 缓存
curl -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"files": [
"https://example.com/style.css",
"https://example.com/app.js"
]
}'
十四、Cloudflare 安全防护更新
Cloudflare 的安全产品主要包括:
- DDoS 防护;
- WAF;
- Bot Management;
- Rate Limiting;
- API Shield;
- SSL/TLS;
- Zero Trust;
- Access;
- Gateway;
- Magic Firewall。
1. 推荐开启的基础安全配置
对于普通网站,建议至少启用:
- SSL/TLS 设置为 Full 或 Full Strict;
- 开启 Always Use HTTPS;
- 开启 Automatic HTTPS Rewrites;
- 开启 WAF Managed Rules;
- 根据业务设置 Rate Limiting;
- 登录、注册、评论接口接入 Turnstile;
- 后台管理路径增加 Access 保护;
- 源站仅允许 Cloudflare IP 访问。
2. 获取 Cloudflare IP 列表
IPv4:
curl https://www.cloudflare.com/ips-v4
IPv6:
curl https://www.cloudflare.com/ips-v6
3. Nginx 仅允许 Cloudflare IP 示例
创建配置文件:
sudo nano /etc/nginx/conf.d/cloudflare-allow.conf
示例:
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
allow 104.16.0.0/13;
allow 104.24.0.0/14;
allow 172.64.0.0/13;
allow 131.0.72.0/22;
deny all;
测试 Nginx:
sudo nginx -t
重载 Nginx:
sudo systemctl reload nginx
十五、Cloudflare SSL/TLS 更新与配置建议
Cloudflare 提供多种 SSL/TLS 模式,常见包括:
| 模式 | 说明 |
|---|---|
| Off | 不启用 HTTPS,不推荐 |
| Flexible | 用户到 Cloudflare 是 HTTPS,Cloudflare 到源站是 HTTP |
| Full | 两端均使用 HTTPS,但不严格校验证书 |
| Full Strict | 两端均使用 HTTPS,并严格校验证书 |
生产环境建议使用:
Full Strict
1. 生成源站证书
可在 Cloudflare 控制台生成 Origin Certificate,然后安装到源站服务器。
2. Nginx SSL 配置示例
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/ssl/cloudflare/origin.pem;
ssl_certificate_key /etc/ssl/cloudflare/origin.key;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header CF-Connecting-IP $http_cf_connecting_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
测试配置:
sudo nginx -t
sudo systemctl reload nginx
十六、Cloudflare Docker 部署常用命令
很多 Cloudflare 工具可以通过 Docker 运行,尤其是 cloudflared。
1. Docker 运行 cloudflared Tunnel
docker run -d \
--name cloudflared \
--restart unless-stopped \
cloudflare/cloudflared:latest \
tunnel --no-autoupdate run --token 你的_TUNNEL_TOKEN
2. Docker Compose 示例
services:
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: tunnel --no-autoupdate run --token 你的_TUNNEL_TOKEN
启动:
docker compose up -d
查看日志:
docker logs -f cloudflared
停止:
docker compose down
更新:
docker compose pull
docker compose up -d
十七、Cloudflare 常见排障命令
1. 检查域名解析
dig example.com
nslookup example.com
2. 检查 HTTP 响应头
curl -I https://example.com
如果看到类似以下响应头,说明流量经过 Cloudflare:
CF-Cache-Status: HIT
Server: cloudflare
3. 检查 HTTP/3
curl --http3 -I https://example.com
4. 检查 TLS 证书
openssl s_client -connect example.com:443 -servername example.com
5. 检查 cloudflared 日志
journalctl -u cloudflared -f
6. 检查 WARP 状态
warp-cli status
7. 检查 Workers 本地运行
wrangler dev
8. 查看 Wrangler 登录状态
wrangler whoami
十八、推荐升级与使用建议
如果你正在使用 Cloudflare,建议按照以下优先级进行升级和检查:
1. 开发者用户
建议重点关注:
- Wrangler 是否为最新版;
- Workers 项目是否使用新的兼容日期;
- 是否合理绑定 KV、R2、D1;
- 是否将敏感信息放入 Secret;
- 是否使用 Pages Preview 环境测试;
- 是否通过 GitHub Actions 或 CI/CD 自动部署。
更新 Wrangler:
npm install -g wrangler@latest
检查版本:
wrangler --version
2. 运维用户
建议重点关注:
- DNS 是否开启代理;
- SSL/TLS 是否使用 Full Strict;
- 源站是否限制 Cloudflare IP;
- 是否启用 WAF;
- 是否使用 Tunnel 替代暴露端口;
- 是否定期更新 cloudflared;
- 是否监控缓存命中率和安全事件。
3. 企业安全用户
建议重点关注:
- Zero Trust 策略;
- Access 应用保护;
- Gateway DNS/HTTP 策略;
- WARP 设备接入;
- 身份提供商集成;
- 日志审计;
- API 安全防护;
- Bot 管理与速率限制。
十九、常用命令速查表
| 场景 | 命令 |
|---|---|
| 安装 Wrangler | npm install -g wrangler |
| 查看 Wrangler 版本 | wrangler --version |
| 登录 Cloudflare | wrangler login |
| 查看账号 | wrangler whoami |
| 创建 Workers | npm create cloudflare@latest my-worker |
| 本地运行 Workers | wrangler dev |
| 部署 Workers | wrangler deploy |
| 创建 R2 Bucket | wrangler r2 bucket create my-bucket |
| 创建 D1 数据库 | wrangler d1 create my-database |
| 创建 KV | wrangler kv namespace create MY_KV |
| 部署 Pages | wrangler pages deploy dist --project-name=my-pages-project |
| 登录 Tunnel | cloudflared tunnel login |
| 创建 Tunnel | cloudflared tunnel create my-tunnel |
| 运行 Tunnel | cloudflared tunnel run my-tunnel |
| 查看 Tunnel | cloudflared tunnel list |
| 安装 cloudflared 服务 | sudo cloudflared service install |
| 查看 cloudflared 日志 | journalctl -u cloudflared -f |
| WARP 注册 | warp-cli registration new |
| WARP 连接 | warp-cli connect |
| WARP 状态 | warp-cli status |
| 清理全部缓存 | purge_cache API |
| 查询 Cloudflare IPv4 | curl https://www.cloudflare.com/ips-v4 |
| 查询 Cloudflare IPv6 | curl https://www.cloudflare.com/ips-v6 |
二十、总结
Cloudflare 的最新更新趋势非常明确:它正在从传统 CDN 和 DNS 服务商,转型为一个覆盖 边缘计算、应用安全、零信任访问、对象存储、数据库、自动化部署和全球网络加速 的综合平台。
对于个人站长来说,Cloudflare 依然是提升网站访问速度、隐藏源站 IP、防御 DDoS、启用 HTTPS 的重要工具;对于开发者来说,Workers、Pages、R2、D1、KV 等产品已经可以支撑完整的 serverless 应用;对于企业来说,Zero Trust、Tunnel、WARP、Access、Gateway 等能力可以帮助构建更安全的远程办公和内网访问体系。
如果你只想快速上手,建议优先掌握以下三组命令:
npm install -g wrangler
wrangler login
wrangler deploy
cloudflared tunnel login
cloudflared tunnel create my-tunnel
cloudflared tunnel run my-tunnel
warp-cli registration new
warp-cli connect
warp-cli status
通过这些命令,你基本可以完成 Cloudflare 开发部署、内网穿透和安全接入的核心操作。随着 Cloudflare 产品继续迭代,建议定期更新 Wrangler、cloudflared 和 WARP 客户端,并关注官方文档中的兼容日期、规则系统变化和新产品发布情况。