← 返回首页

Cloudflare Worker 说明

2026-10-21 · 元 / yokon

依据视频:cloudflare worker是什么?零基础教程(技术爬爬虾 TechShrimp)整理。适合零基础从控制台部署到本地开发。

个人笔记,仅供学习,风险自负。 额度、界面文案以 Cloudflare 控制台与官方文档为准。


1. Cloudflare 与 CDN

Cloudflare 是一家提供 CDN、网络安全、DDoS 防护和域名服务的美国公司,也是目前最大、最流行的 CDN 服务商之一。

CDN(内容分发网络) 通过遍布全球的数据中心缓存网站静态资源。访客请求时,可从地理位置最近的节点读取,从而加快加载速度。


2. 什么是 Cloudflare Worker

Worker 是 Cloudflare 提供的免费无服务器计算 / 边缘计算服务。

你把一段代码(常用 JavaScript / TypeScript,也可选 Python)上传到 Worker 后,代码会部署到 Cloudflare 全球 CDN 节点上。有人访问 Worker 地址时,离用户最近的节点执行这段逻辑并返回结果——这叫边缘计算,延迟更低、性能更好。

许多人因此称 Cloudflare 为「大善人 / 赛博活佛」。

Worker 常见用途

  • 返回数据 / 页面
  • 重定向
  • 过滤请求
  • 做代理 / 内网穿透
  • 做缓存
  • 定时任务、鉴权、按国家分流 等

免费额度(视频中口径)

免费账号大约 每天 10 万次请求。个人使用通常够用。以控制台当前显示为准。


3. 控制台创建并部署第一个 Worker

  1. 打开 dash.cloudflare.com,注册并登录。
  2. 完成邮箱验证(未验证时无法正常进入 Worker 页面)。
  3. 左侧进入 Workers 和 Pages → 创建 → 创建 Worker。
  4. Cloudflare 会随机起名并生成示例代码与配置;可刷新改名。
  5. 点 部署。成功提示类似:「项目已部署到以下区域:全球」。

部署成功后会得到类似:

https://某某名字.你的子域.workers.dev

注意: *.workers.dev 在中国大陆网络下往往很难访问。建议绑定自己的域名(见下一节)。


4. 绑定自定义域名

  1. 打开该 Worker → 继续处理项目(或进入项目)→ 设置 → 触发器。
  2. 在 自定义域 中填写一个已托管到 Cloudflare 的域名或子域名,例如 worker.你的域名.xyz。
  3. 点 添加自定义域。证书初始化可能要几分钟,DNS 传播最长约 24 小时。

此后访问该自定义域名 = 访问该 Worker。

购买域名、申请免费域名、把域名拖管到 Cloudflare:视频作者有单独教程,可自行检索。


5. Worker 控制台功能速览

选项卡 作用
指标 近 24 小时请求次数、错误、耗时等
日志 / 实时日志 跟踪 console.log 等输出
部署 历史版本
集成 对接第三方数据库、缓存等
设置 → 触发器 自定义域、路由、Cron 定时触发
设置 → 变量 环境变量 / Secrets
管理 重命名、删除
编辑代码 在线改代码 + 右侧预览;改完可再部署

在线编辑时:预览地址尽量改成你已绑定的自定义域名再测;确认无误后点部署上线。


6. 本地开发环境

6.1 安装 Node.js

  1. 打开 https://nodejs.org 下载安装。
  2. 打开终端,验证:
npm -v

能显示版本号即表示 Node / npm 就绪。

6.2 用脚手架创建项目

npm create cloudflare@latest

按提示操作(视频中示例):

  1. 项目名,如 tech-shrimp-worker
  2. 模板选 Hello World
  3. 语言选 TypeScript(也有 Python 选项)
  4. 是否用 Git:可按需选 no
  5. 是否立即部署:可先选 no,之后用 npm run deploy

6.3 package.json 里的关键命令

脚手架会生成依赖 Wrangler(Cloudflare 官方脚手架 / CLI):

脚本 实际作用
npm run start / npm run dev wrangler dev 本地调试
npm run deploy wrangler deploy 发布到 Cloudflare

6.4 本地启动与踩坑

cd tech-shrimp-worker
npm install
npm run start

成功后访问终端给出的本地地址(常见 http://localhost:8787/),应看到 Hello World。

视频中提到:当时最新 wrangler 3.62.0 有问题,作者降到 3.61.0 后 npm install 再启动才成功。若本地起不来,可尝试固定较稳版本:

"wrangler": "3.61.0"

6.5 从本地发布

npm run deploy

会打开浏览器完成 Cloudflare 登录,登录后继续即可部署。发布出来的 workers.dev 域名在国内仍可能打不开,仍需绑定自己的域名。


7. 项目与代码要点

7.1 项目结构(常见)

  • src/index.ts:入口代码
  • wrangler.toml:项目名、入口、兼容性日期、绑定等
  • package.json:脚本与依赖
  • .wrangler/、node_modules/、test/ 等

7.2 wrangler.toml

典型字段:

name = "tech-shrimp-worker"
main = "src/index.ts"
compatibility_date = "2024-07-29"
compatibility_flags = ["nodejs_compat"]

compatibility_date 类似运行时版本:推送到 Cloudflare 时按该日期对应的运行环境执行。文件里还有大量注释链接(Smart Placement、环境变量、Workers AI 等),可点进官方文档细学。

7.3 入口 fetch

核心是两个概念:

  • request:浏览器发来的请求
  • Response:你返回给浏览器的内容

最简示例:

export default {
  async fetch(request, env, ctx): Promise<Response> {
    return new Response('Hello World!');
  },
} satisfies ExportedHandler<Env>;

7.4 打印日志

与前端一样:

console.log('你的日志');

本地 npm run start 后访问页面,日志会出现在终端。改代码一般会自动 reload,不必每次手动重启(改 wrangler.toml 绑定后通常需要重启)。

7.5 request.cf(很有用)

request.cf 是 Cloudflare 计算并填充的客户端信息,例如:

  • 经纬度、国家、城市、大洲
  • HTTP 协议版本、TLS 相关信息
  • Bot Management 评分:越接近 100,是真人的概率越高;可设阈值过滤爬虫/机器人

7.6 环境变量

在 wrangler.toml 配置(或控制台「变量」),再用:

npm run cf-typegen

生成类型后,在代码里通过 env.变量名 读取。改绑定后需重启本地服务。

7.7 KV / D1 / R2(简介)

产品 用途
KV 小型非关系型键值存储;put / get(异步,需 await)
D1 Cloudflare 提供的 SQLite 类数据库,适合更大结构化数据
R2 对象存储(文件);视频中提到约有 10GB 免费额度,以官网为准

在 wrangler.toml 绑定 Namespace / 数据库 / 桶后,在 Env 里声明对应类型即可使用。


8. 官方示例思路(视频演示)

可在 Workers Examples 找到更多。视频演示过:

  1. 返回 HTML:拼 HTML 字符串,Content-Type: text/html
  2. 返回 JSON:Response.json(data)
  3. 代理远程网页:fetch(远端) 再 return 回来(代理的基本原理;作者曾用 Worker 把 NewBing 代理到国内域名)
  4. 重定向:Response.redirect(url)
  5. 合并多个请求结果:并行取多个 API,合并 JSON
  6. 天气预报:用 request.cf 的经纬度调用天气 API
  7. Header 鉴权:校验请求头密码,失败返回 403
  8. 按国家重定向:读 request.cf.country
  9. 按 TLS 版本过滤:只允许 TLS 1.2 / 1.3
  10. 定时任务:scheduled 入口 + wrangler.toml 里 triggers / Cron 表达式

9. 延伸资源

  • 官方文档:developers.cloudflare.com/workers
  • 示例页:workers/examples
  • GitHub 合集:awesome-cloudflare(图床、邮箱、博客、短链、网站分析、隧道加速、文件分享等)
  • Workers AI:可在 Worker 中调用多种开源大模型(视频时仍属早期,但作者看好)

10. 操作清单(最短路径)

  1. 注册 Cloudflare → 验证邮箱
  2. Workers 和 Pages → 创建 Worker → 部署
  3. 设置 → 触发器 → 绑定自定义域
  4. 本机装 Node → npm create cloudflare@latest
  5. npm run start 本地调试 → npm run deploy 上线
  6. 按需配置环境变量、KV/D1/R2、Cron

说明根据上述 YouTube 教程口述与画面整理,界面文案与额度可能随 Cloudflare 更新而变化,请以控制台与官方文档为准。