上一篇 下一篇 分享链接 返回 返回顶部

Cloudflare 全栈升级指南:Workers、Zero Trust、R2 到常用命令一次整理

发布人:慈云数据-客服中心 发布时间:24小时前 阅读量:4

Cloudflare 最新更新内容汇总|附完整命令

说明:本文以 Cloudflare 近年产品线的主要更新方向为基础进行整理,覆盖 Cloudflare Workers、Pages、Zero Trust、Tunnel、WARP、R2、D1、KV、Turnstile、DNS、安全防护、缓存与开发者工具 等常用模块,并附上常见安装、更新、部署与排障命令。由于 Cloudflare 更新频率较高,实际功能状态建议以 Cloudflare 官方文档与控制台为准。


一、Cloudflare 更新方向总览

Cloudflare 近年来的更新重点,已经不再局限于传统的 CDN、DNS 和 DDoS 防护,而是逐步扩展为一个覆盖 边缘计算、安全访问、对象存储、数据库、AI 推理、应用防护、开发者平台 的综合云网络平台。

整体来看,Cloudflare 的最新更新可以概括为以下几个方向:

  1. 开发者平台持续增强

    • Workers 运行时能力增强;
    • Wrangler CLI 迭代频繁;
    • Pages 与 Git 部署体验优化;
    • D1、R2、KV、Durable Objects 等产品逐渐成熟;
    • AI、Queues、Vectorize 等边缘应用能力不断扩展。
  2. Zero Trust 安全体系完善

    • Access、Gateway、Tunnel、WARP 等组件集成度提升;
    • 更适合远程办公、内网穿透、私有应用访问;
    • 对企业身份认证、设备姿态、策略控制支持更完善。
  3. 安全防护能力升级

    • WAF 托管规则持续更新;
    • Bot 管理能力增强;
    • API Shield、安全分析、速率限制更加细化;
    • Turnstile 替代传统验证码体验更友好。
  4. 边缘网络与缓存能力增强

    • Cache Rules 替代部分 Page Rules 场景;
    • Transform Rules、Origin Rules、Redirect Rules 更灵活;
    • HTTP/3、QUIC、Brotli、Early Hints 等性能功能持续优化。
  5. 命令行和自动化能力提升

    • 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. 推荐开启的基础安全配置

对于普通网站,建议至少启用:

  1. SSL/TLS 设置为 Full 或 Full Strict;
  2. 开启 Always Use HTTPS;
  3. 开启 Automatic HTTPS Rewrites;
  4. 开启 WAF Managed Rules;
  5. 根据业务设置 Rate Limiting;
  6. 登录、注册、评论接口接入 Turnstile;
  7. 后台管理路径增加 Access 保护;
  8. 源站仅允许 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 客户端,并关注官方文档中的兼容日期、规则系统变化和新产品发布情况。

目录结构
全文