241 字
1 分钟
利用deno代理cloudflare ai gateway
2025-01-11

利用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/
作者
waka
发布于
2025-01-11
许可协议
CC BY-NC-SA 4.0