无需服务器,Cloudflare 免费实现 Gemini API 国内丝滑调用!

无需服务器,Cloudflare 免费实现 Gemini API 国内丝滑调用!

xuliyaoPro 过期程序员

由于某些原因国内朋友访问不了gemini的,文章亲自验证了一遍,用Cloudflare Workers 免费搭建 Gemini API 代理,实现国内稳定访问,下面开讲。

一、核心原理:反向代理(Reverse Proxy)

简单来说,就是把 Cloudflare 当作一个“中转站”。

我们遇到的问题是:在中国大陆等地区,我们的设备(电脑、服务器)无法直接访问 Google Gemini 的 API 服务器地址 generativelanguage.googleapis.com

Cloudflare 的作用就是:

  1. 你访问 Cloudflare:你将本来要发送给 Gemini API 的请求,发送到一个由你控制的、Cloudflare 提供的域名上(例如 xxx.yourname.workers.dev)。

  2. Cloudflare 访问 Gemini:Cloudflare 的服务器遍布全球,它会从一个可以正常访问 Google 的海外节点,去请求真正的 Gemini API 地址 generativelanguage.googleapis.com

  3. Cloudflare 返回结果:Cloudflare 拿到 Gemini API 的返回结果后,再通过那个你可以访问的域名,原封不动地返回给你。

在这个过程中,Cloudflare 就像一个中间人,帮你完成了“出海”访问的步骤。你的设备始终只和 Cloudflare 通信,从而绕过了直接访问的限制。

graph LR
    A[用户设备
(电脑/服务器)] -->|1.发送请求到可访问域名
(如 xxx.yourname.workers.dev)| B[Cloudflare 边缘节点
(中国大陆可访问)] B -->|2.海外节点转发请求
(访问 generativelanguage.googleapis.com)| C[Gemini API 服务器
(Google 海外服务器)] C -->|3.返回响应结果| B B -->|4.原封不动转发结果| A style A fill:#e1f5fe style B fill:#f3e5f5 style C fill:#e8f5e8 linkStyle 0 stroke:#2196f3,stroke-width:2px linkStyle 1 stroke:#9c27b0,stroke-width:2px linkStyle 2 stroke:#4caf50,stroke-width:2px linkStyle 3 stroke:#2196f3,stroke-width:2px

二、实现方法:Cloudflare Workers (最常用、最灵活)

Cloudflare Workers 是一个无服务器(Serverless)计算平台,允许你在 Cloudflare 的全球网络边缘上运行 JavaScript 代码。用它来做反向代理非常完美。

准备工作:

  1. 一个 Cloudflare 账户(免费版即可)。

  2. 一个 Cloudflaret 托管的域名。

  3. 一个 Google Gemini API 密钥。


三、操作步骤:

  1. 登录Cloudflare,点击左侧菜单Workers和Pages,点击创建应用程序

  2. 选择从Hello World!开始,点击开始使用

  3. 给worker起个自己中意的名称,这里叫gemini-proxy;然后点击下方部署按钮。

      点击访问,打开页面就能看到Hello World了,说明部署成功。

  4. 点击编辑代码按钮。

  5. 将下列代码覆盖贴入左侧代码栏中,点击部署

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    export default {
    async fetch(request, env) {
    // 1. 解析原始 URL
    const url = new URL(request.url);

    // 2. 仅替换主机名(协议、路径、查询都保留)
    url.hostname = 'generativelanguage.googleapis.com';
    url.port = ''; // 443 默认
    url.protocol = 'https:'; // 向外走 HTTPS

    // 3. 构造新请求:把 method、headers、body 原样带过去
    const newReq = new Request(url.toString(), {
    method : request.method,
    headers : request.headers,
    body : request.body
    });

    // 4. 发出去并直接把响应返回给浏览器
    return fetch(newReq);
    }
    };

      因为被封了这个域名后缀,这时需要梯子去访问你的worker地址。

      接下来我们进一步设置,就是用自己的域名去访问。

  6. 开始DNS解析记录操作,依次点击主页>DNS记录>添加记录

      Tips:

    • 代理状态关闭(仅DNS)。

    • DNS可以添加多个IP,选用以下即可,也可网上自行查找可用IP。

    • 点击查看支持的区域

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # IP属地不对,使用时会报错
    Connection failed!
    {
    "error": {
    "code": 400,
    "message": "User location is not supported for the API use.",
    "status": "FAILED_PRECONDITION"
    }
    }
    1
    2
    3
    4
    # 可用IP
    104.23.240.1 # 美西 151 ms
    104.16.123.1 # 美西 140 ms
    172.64.32.1 # 美西 135 ms

      这里名称填写gemini,并指向可用的IP

  7. 左侧菜单Workers路由,点击添加路由按钮

      设置的域名和worker的路由关系,填写如下:

      gemini.chinapmcc.com/*

      gemini-proxy

  8. 生成Google AI的API密钥,需要梯子,保存生成的API KEY 。
    Gemini Pro的api key获取地址:https://makersuite.google.com/app/apikey

  9. 验证并应用,配置时用到两个东西:API KEY、API 地址 经过上述配置,就可以使用Gemini了,下面通过两个应用例子验证,在其他应用中使用也是一样的方法。

    官方Gemini API 调用地址
    https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent?key={key}

    将前面地址替换成
    https://gemini.chinapmcc.com/v1beta/models/{model}:generateContent?key={key}

    • 沉浸式翻译 API配置

      API KEY,API 地址贴入,点击测试服务,绿色勾代表成功

          打开外文网站时,点击沉浸式翻译图标,翻译服务选择设置好的Gemini API,点击翻译即可翻译网站。

    • Chatbox API配置

      https://web.chatboxai.app/settings
      API KEY,API 地址贴入,点击Check,Connection successful!代表成功,点击右上ESC返回

      General Settings中可设置中文语言

          OK~现在可以在chatbox中免费使用Gemeni了

  • 标题: 无需服务器,Cloudflare 免费实现 Gemini API 国内丝滑调用!
  • 作者: xuliyaoPro
  • 创建于 : 2025-11-14 00:00:00
  • 更新于 : 2025-11-14 00:00:00
  • 链接: https://chinapmcc.com/2025/11/14/AI人工智能/无需服务器,Cloudflare 免费实现 Gemini API 国内丝滑调用!/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论