最近在折腾 Cloudflare Workers 做边缘计算相关的东西,顺便把自己踩过的坑和一些实践经验简单整理一下,希望对有兴趣的同学有帮助。如果有更好的优化方案也欢迎一起讨论。
📌 1. 背景
为了降低业务延迟、减少服务器压力,同时让 API 更好地分发到全球节点,我尝试用 Cloudflare Workers + KV 的方式做一个轻量级 API 网关。目标主要包括:
请求分流
接口鉴权(基于 JWT)
简单限流
基础日志记录
边缘缓存静态资源
⚙️ 2. 架构说明
整体架构相当简单:
Client → Cloudflare Edge → Worker → 后端服务(可选)
Worker 负责做:
Token 校验
IP 过滤
速率限制(基于 Durable Objects 或 R2)
返回 JSON 或 HTML
如果是简单接口,也可以完全在边缘处理,不走后端。
🔐 3. 鉴权设计
我使用了 JWT 做鉴权,Workers 原生就能跑 crypto,这点很方便。
const token = request.headers.get("Authorization")?.replace("Bearer ", "");
if (!token
!verifyJWT(token, env.JWT_SECRET)) {
return new Response(JSON.stringify({ error: "Unauthorized" }), {
status: 401,
});
}
另外还加了 IP 白名单(支持 cf-connecting-ip):
const ip = request.headers.get('cf-connec
...查看全文