Cloudflare Workers 反向代理教程:免费搭建 API 中转与 CORS 代理
为什么使用 Cloudflare Workers 做反向代理?
全球加速:利用 Cloudflare 的边缘节点,全球访问延迟极低。
免费额度高:每天 10 万次免费请求,足以支撑个人项目。
无需服务器:真正的 Serverless 架构,省去运维烦恼。
以下内容:
-
一个 Cloudflare 账号(免费即可)
-
能正常登录 Cloudflare 控制台
-
一个你想要代理的网站(例如:https://example.com)
Cloudflare 控制台地址:
登录后,在左侧菜单中找到 Workers & Pages。
三、新建一个 Worker(跟着点就行)
第一步:创建 Worker
-
进入 Workers & Pages
-
点击 Create application
-
选择 Workers
-
点击 Create Worker
-
随便填写一个名称(如:proxy-test)
-
点击 Deploy
看到成功提示后,说明 Worker 已创建完成。
第二步:进入代码编辑页面
-
点击刚创建好的 Worker
-
点击 Edit code
-
页面中会出现一段默认代码
👉 全部删除即可,不需要看。
四、最基础的反向代理代码(直接复制)
将下面代码 完整复制,粘贴到编辑器中:
async fetch(request) { // 这里改成你要代理的网站 const TARGET = 'https://example.com'
const url = new URL(request.url) const newUrl = TARGET + url.pathname + url.search
return fetch(newUrl, request) }}⚠️ 注意事项:
必须把 https://example.com 换成你自己的目标网站
不要多删或多加任何字符
保存并部署
-
点击右上角 Save and Deploy
-
等待提示部署成功
此时,你的反向代理已经可以使用了。
五、测试是否搭建成功
在浏览器中访问你的 Worker 地址,例如:
https://proxy-test.workers.dev
如果看到的是目标网站内容,说明成功。
再测试路径访问:
https://proxy-test.workers.dev/abc
等同于:
六、出现 403 或异常?用这个版本
如果访问时报 403、页面空白或跳转异常,使用下面这个 兼容版代码。
exportdefault{ async`fetch(request) { const TARGET = 'https://example.com' const url = new URL(request.url)
const headers = new Headers(request.headers) headers.set('Host', new URL(TARGET).host)
const newRequest = new Request(TARGET + url.pathname + url.search, { method: request.method, headers, body: request.body, redirect: 'follow' })
return fetch(newRequest) }}保存并重新部署后再次测试。
七、前端接口跨域(CORS)解决方案
如果你是给前端项目做代理接口,请使用下面这个版本:
export default { async fetch(request) { const TARGET = 'https://example.com' const url = new URL(request.url)
const response = await fetch(TARGET + url.pathname + url.search, request) const newResponse = new Response(response.body, response)
newResponse.headers.set('Access-Control-Allow-Origin', '*') newResponse.headers.set('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,OPTIONS')
return newResponse }}八、绑定自定义域名(可选)
如果你不想使用 workers.dev:
-
将你的域名接入 Cloudflare
-
进入 Worker → Triggers
-
添加 Custom Domain
-
例如:proxy.yourdomain.com
完成后即可使用自己的域名访问代理。
九、新手常见问题
能代理 HTTPS 吗?
可以,Cloudflare Workers 原生支持 HTTPS。
免费额度够用吗?
免费版每天 10 万次请求,一般个人使用完全够用。
为什么有的网站代理不了?
部分网站会限制 Cloudflare IP,这属于目标站策略限制。
十、总结
一句话概括:
复制代码 → 改目标网址 → 保存部署 → 直接使用
Cloudflare Workers 是目前成本最低、上手最快的反向代理方案之一。
在此基础上,你还可以继续扩展:
多站点代理
加访问密码
API 中转
防盗链
💡 登录后弹幕将带认证标识,点此登录喵~
弹幕经站长审核后展示喵~ 文明发言,共建和谐评论区
引用此文 (Cite this article)
已固定版本 a0017b6文章修订历史版本 (Git Revision History)
8 次版本| 快捷对比 | 比对单选 | 修订时间 (快照永久链) | 贡献者 | 体量变化 | 编辑摘要 / Git Commit 记录 | Git |
|---|---|---|---|---|---|---|
| ( 当前 | ) | 2026年10月06日 (二) 06:52 | Y yaoxiovo | 4,571 字节 (+66) | /* wiki */ 新增 related 编排互链体系与延伸阅读指引喵 | a0017b6 | |
| ( | ) | 2026年05月05日 (二) 02:36 | Y yaoxiovo | 4,505 字节 (+21) | seo: improve Cloudflare Workers tutorial metadata | 89048ba | |
| ( | ) | 2026年04月25日 (六) 13:20 | Y yaoxiovo | 4,484 字节 (+413) | Update cfworker.md | 00c6719 | |
| ( | ) | 2026年01月18日 (日) 04:49 | Y yaoxiovo | 4,071 字节 (-158) | Update 3 files: astro.config.mjs, SiteCard.astro, cfworker.md | eddc781 | |
| ( | ) | 2026年01月18日 (日) 04:46 | Y yaoxiovo | 4,229 字节 (+161) | Update 4 files: astro.config.mjs, SiteCard.astro, cfworker.md, remark-directive.ts | 95b492d | |
| ( | ) | 2026年01月10日 (六) 02:10 | Y yaoxiovo | 4,068 字节 (+14) | Update 1 file: cfworker.md | 42cfe29 | |
| ( | ) | 2026年01月10日 (六) 02:06 | Y yaoxiovo | 4,054 字节 (-611) | Update 1 file: cfworker.md | 8835069 | |
| ( | 上一 ) | 2026年01月09日 (五) 09:49 | Y yaoxiovo | 4,665 字节 (+4665) | 初始版本 Update 2 files: workspace-mobile.json, cfworker.md | 5343a8a |
链入页面 (What links here)
2 个来源 · 2 条链接延伸阅读 (See Also)
2 篇- 如何把域名接入 Cloudflare(完整实操版)
从添加站点、修改 NS、配置 DNS 到开启 SSL 与 HTTPS 重定向,手把手完成域名接入 Cloudflare。
互链 2026-05-10 - Cloudflare Worker 反向代理代码:CORS、Cookie 与 302 跳转修复
提供可直接部署的 Cloudflare Worker 反向代理代码,支持 CORS、Cookie 重写、路径前缀代理和 301/302 跳转修复。
互链 2026-05-04
相关文章 (Related Pages)
1 篇- 博客 API 接口大全与调用教程共同标签 1
评论 · 0
💡 登录后评论将带认证标识,点此登录喵~