Cloudflare 免费部署 API 聚合服务,这几款开源项目真香
Cloudflare 免费部署 API 聚合服务,这几款开源项目真香
最近很多朋友在问,有没有办法在 Cloudflare 上部署 API 聚合项目?毕竟大家都懂,白嫖免费资源才是开发者的浪漫。
以前我们要聚合各种 API(比如 AI 模型、天气查询、IP 归属地等),通常得买台 VPS,用 Nginx 反代或者写个 Node.js 后端。现在有了 Cloudflare Workers 和 Pages,这一切都可以变得极低成本,甚至是零成本。
今天就给大家盘点几款适合部署在 Cloudflare 上的 API 聚合/开源网关项目,顺便聊聊怎么落地部署。
为什么选择 Cloudflare 做网关?
先别急着找项目,我们要明确为啥非得是 Cloudflare:
- 全球边缘网络:Workers 部署在全球 200+ 数据中心,延迟能有多低你想想看。
- 免费额度良心:每天 10 万次免费请求,对于个人项目或者小团队测试来说,完全够用。
- 自带 HTTPS:不用折腾证书,Cloudflare 全包了。
- serverless:不用管服务器维护,也不用怕 D 打死机。
推荐几款靠谱的聚合方案
市面上能跑在 Workers 上的项目不少,这里挑几个能打的。
1. One-API (适配 Cloudflare 版)
大名鼎鼎的 One-API 大家都很熟悉,主要用于聚合各大 LLM 模型接口(OpenAI, Claude, Google 等)。虽然官方版主要跑在 VPS 上,但社区有不少适配 Cloudflare Workers 的移植版本。
适用场景:你需要一个统一的 AI 接口入口,给前端或者第三方调用,同时想利用 Cloudflare 隐藏真实的上游 API Key,防止被刷额度。
特点:
- 支持多渠道负载均衡和计费。
- 可以在 Workers 里做简单的转发和鉴权。
- 部署后就是一个标准的 OpenAI 格式接口,无缝兼容各种客户端。
2. Cloudflare-Workers-Src
如果你不想局限于 AI,而是想做一个通用的 API 代理或者聚合服务,这类"微网关"项目更合适。GitHub 上有很多基于 Cloudflare Workers 写的通用 Proxy 模板。
适用场景:聚合各种杂七杂八的免费 API,比如 IP 查询、天气预报、域名状态查询等。
特点:
- 代码量小,逻辑清晰,方便自己魔改。
- 支持添加 CORS 头,解决跨域问题。
- 可以配合 Workers KV 存储一些简单的配置数据。
3. Cloudflare-Reverse-Proxy
有时候"聚合"其实就是"转发"。这类项目专注于解决 Google 翻译、GitHub 文件加速等特定服务的访问问题。
适用场景:解决某些网络环境下的 API 访问受限问题。
特点:
- 专为特定服务优化,比如自动处理某些特殊 Header。
- 有些项目甚至结合了 Pages 和 Functions,功能更强。
实战:怎么把项目部署上去?
不管你选哪个项目,部署流程大同小异。这里以通用的 Workers 部署为例,手把手教你搞起来。
第一步:准备代码
首选,你需要先把项目代码 Fork 到自己的 GitHub 仓库。
第二步:使用 Wrangler CLI(推荐给开发者)
如果你习惯用命令行,Wrangler 是官方的命令行工具。
- 安装:
npm install -g wrangler - 登录:
wrangler login(会跳转浏览器授权) - 部署:进入项目目录,通常配置文件是
wrangler.toml,直接运行:wrangler deploy
搞定之后,它会给你一个 *.workers.dev 的域名,这就部署完成了。
第三步:使用 GitHub Actions (自动化)
想偷懒一点,配置一下 GitHub Actions,实现 Push 代码自动部署。
- 在 Cloudflare 后台获取
API Token。 - 在你的 GitHub 仓库 Settings -> Secrets and variables -> Actions 里添加这个 Token。
- 修改项目里的
.github/workflows配置文件,确保触发条件正确。
以后只要你在 GitHub 修改了代码,Save 的瞬间,Cloudflare 那边就自动更新了,非常丝滑。
遇坑指南与解决方案
部署过程中难免会遇到几个经典问题,这里直接上解决方案。
1. 模块导入错误
Workers 环境不是完整的 Node.js,有些 Node.js 原生模块(比如 fs, path)用不了。
- 办法:尽量使用纯 JS 实现的库,或者找专门为 Workers 环境适配过的包。
2. 请求大小限制
Workers 对请求体和响应体的大小有限制(通常是 100MB 左右,但对于复杂流式响应要注意)。
- 办法:如果是处理大文件下载,建议考虑 Cloudflare R2 配合 Workers,别硬抗。
3. CORS 解决不了
有时候浏览器还是报跨域错误。
- 办法:在 Workers 代码里显式添加
Access-Control-Allow-Origin: *,并且要注意处理OPTIONS预检请求,直接返回 200 状态码。
// 伪代码示例
if (request.method === 'OPTIONS') {
return new Response(null, {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type'
}
})
}
总结
在 Cloudflare 上部署聚合 API 项目,无论是为了省钱,还是为了利用它的全球加速特性,都是一个非常明智的选择。特别是对于一些轻量级的工具类服务,完全没必要再花钱买 VPS 了。
如果你也有好的项目推荐或者遇到了奇怪的 Bug,欢迎在评论区交流,大家一起避坑!

评论已关闭