241 字
1 分钟
利用deno代理cloudflare ai gateway
利用deno代理cloudflare ai gateway
上一篇文章介绍了如何使用cloudflare ai gateway,但是由于cloudflare ai gateway会透传用户的ip,所以有些地区原本无法访问的ai api还是会无法访问,这时候我们可以使用deno来代理cloudflare ai gateway,这样就可以解决地区限制的问题。
代码
const TARGET_HOST = "gateway.ai.cloudflare.com";
const BASE_PATH = "/v1/你自己的标识符/aigate/google-ai-studio";
Deno.serve(async (request) => {
const url = new URL(request.url);
const originalPath = url.pathname;
url.host = TARGET_HOST;
url.pathname = BASE_PATH + originalPath;
url.protocol = "https:";
const newRequest = new Request(url.toString(), {
headers: request.headers,
method: request.method,
body: request.body,
redirect: "follow",
});
const response = await fetch(newRequest);
// 添加 CORS 头
const headers = new Headers(response.headers);
headers.set("Access-Control-Allow-Origin", "*");
headers.set("Access-Control-Allow-Methods", "*");
headers.set("Access-Control-Allow-Headers", "*");
return new Response(response.body, {
status: response.status,
headers: headers,
});
});
说明
这个是一个例子,代理了gateway的google-ai-studio,你可以根据自己的需求修改BASE_PATH
,这样就可以代理其他的ai gateway了。使用方法和gateway一样,只是地址换成了你的deno服务的地址。
利用deno代理cloudflare ai gateway
https://blog.wakaplus.com/posts/aiga-proxy/