You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无法在Hetzner VPS内调用Gemini API,返回403禁止访问错误

问题与解决:Hetzner VPS调用Gemini API返回403 Forbidden错误

问题详情

  • 已在Google AI Studio生成API密钥,本地电脑调用Gemini模型完全正常
  • 部署在纽伦堡节点的Hetzner VPS(系统:Ubuntu 24.04.04)中使用同一密钥调用时,被Google拦截并返回403(Forbidden)错误

测试请求示例

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
  -H 'Content-Type: application/json' \
  -H 'X-goog-api-key: AIzaSyAG3r-...' \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "Explain how AI works in a few words"
          }
        ]
      }
    ]
  }'

错误响应

  1. That’s an error.
    Your client does not have permission to get URL /v1beta/models/gemini-2.5-flash:generateContent from this server. That’s all we know.

解决步骤

  1. 检查API密钥的地域访问限制
    登录Google AI Studio后台,找到对应API密钥,查看「访问控制」中的地域限制设置,确认是否允许德国纽伦堡地区的IP发起请求,若有限制则添加对应地域或直接取消地域限制。

  2. 排查VPS IP是否被Google标记
    部分数据中心的IP段可能被Google判定为高风险,可尝试更换Hetzner VPS的IP(通过控制台重装系统或更换节点),或使用合规代理转发API请求。

  3. 确认Generative Language API已启用
    登录Google Cloud Console,进入密钥所属项目,搜索「Generative Language API」,确保服务处于启用状态——有时密钥生成后服务未同步开启会触发权限拦截。

  4. 验证请求格式一致性
    虽然本地请求正常,但VPS环境可能存在字符编码或换行符差异,直接复制本地可正常运行的curl命令到VPS执行,避免手动输入时的格式错误。

  5. 检查VPS网络与防火墙规则
    查看Hetzner VPS后台的防火墙设置,以及Ubuntu系统的ufw/iptables规则,确认是否允许对外访问generativelanguage.googleapis.com域名及443端口,可临时关闭防火墙测试是否恢复正常。

内容的提问来源于stack exchange,提问作者Sheikh Abdullah

火山引擎 最新活动