<!-- index-menu -->
本文将记录如何使用Cloudflare Workers反向代理API服务,不需要服务器(serverless)且免费。
主要目的是隐藏真实API URL,即对用户隐藏了真实API服务提供者,用户只管使用服务就好,无需知道使用的谁家的服务和API,某种程度上讲做起了API「二房东」。
好处是如果有许多服务使用同一个API,那么更换API URL时需要每个服务都手动更换,很麻烦。相比之下,若这些服务都使用同一个API URL,那么在更换API服务商时,只需要更改反代的信息即可,若KEY变化则服务中只需替换KEY。
最好已经有托管在Cloudflare的域名。使用默认xxx.workers.dev也可,只不过可能被大陆墙掉。
API是什么?
API是应用程序编程接口(Application Programming Interface)的缩写。它是一组定义了软件组件之间交互方式的规范,允许不同的应用程序之间进行数据交换和通信。API通常由一系列的函数、协议、工具和数据结构组成,可以让开发者在不了解内部实现细节的情况下,通过开放的接口进行软件开发、集成和扩展。API可以用于各种应用程序,包括移动应用、Web应用、桌面应用、操作系统等。
在Cloudflare中左侧菜单栏中找到并点击Workers,点击创建服务。
命名该服务如apixxx
,选择HTTP处理程序
即可。
「扩展」Cloudflare Workers中的HTTP处理程序和HTTP路由器有什么区别?
创建完成后点进该服务,然后点击快速编辑。
将以下代码粘贴进去(删除默认初始代码),修改要代理的域名,然后点击保存并部署
:
addEventListener(
"fetch",event => {
let url=new URL(event.request.url);
url.hostname="abc.def.xyz"; // 修改成自己的节点IP/域名
url.protocol='https'; // 如为http协议请修改为http
let request=new Request(url,event.request);
event. respondWith(
fetch(request)
)
}
)