在国内使用 claude code,0代码搭建反向代理

0 阅读1分钟

因为众所周知的原因,claude code 对国内的封禁越来越严厉,直接访问会被拒绝。通过 openrouter 等平台,因为某些模型在 OpenRouter 上也会进行穿透的 IP 检测,所以也会遇到403错误。

本文介绍如何通过 cloudflare 搭建反向代理,绕开对国内地区的限制。

ai-gateway

cloudflare ai-gateway 提供了对多家 Ai provider 的反向代理功能,不需要本地操作,在dashboard上就能完成所有配置工作。

在ai-gateway页面,cf 提供一个default gateway。我们点击创建token,使用默认的权限。创建好后,需要把token 保存到本地(比如:.bashrc, .zprofile)。后续所有发往 cf 的请求,都要携带它。

发送第一个请求,首次请求会正式完成gateway的创建。

curl -X POST https://gateway.ai.cloudflare.com/v1/{cf_accound_id}/default/compat/chat/completions \
  --header "cf-aig-authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast",
    "messages": [
      {
        "role": "user",
        "content": "What is Cloudflare?"
      }
    ]
  }'

cf_account_id 是你的cf账号,可以在用户界面,点击复制id得到。default 是cf默认提供的gateway名称,如果我们创建自定义gateway,这里要换成自定义的名称。

接下来,我们找到希望 gateway 反向代理的上游厂商。cf 对主流厂商的配置都有对应文档,这里我用 openrouter 做演示。使用openrouter,需要先到它的官网,申请一个 api_key。

然后根据文档指示,构造请求:

curl -X POST https://gateway.ai.cloudflare.com/v1/{cf_accound_id}/default/openrouter/v1/chat/completions \
 --header 'content-type: application/json' \
 --header "cf-aig-authorization: Bearer ${CLOUDFLARE_AIGATEWAY_TOKEN}" \
 --header "Authorization: Bearer ${OPENROUTER_API_KEY}" \
 --data '{
    "model": "anthropic/claude-opus-4.6",
    "messages": [
        {
            "role": "user",
            "content": "what model you using"
        }
    ]
}'

如果正常返回,说明代理成功了。

claude code

接下来配置claude code,所有用到的环境变量如下:

export OPENROUTER_API_KEY="xxx" 
export CLOUDFLARE_AIGATEWAY_TOKEN="xxx"

export ANTHROPIC_BASE_URL="https://gateway.ai.cloudflare.com/v1/${cf_account_id}/default/openrouter"
export ANTHROPIC_AUTH_TOKEN="${OPENROUTER_API_KEY}"
export ANTHROPIC_API_KEY="" # Important: Must be explicitly empty
export ANTHROPIC_CUSTOM_HEADERS="cf-aig-authorization: Bearer ${CLOUDFLARE_AIGATEWAY_TOKEN}"

配置好后,重新打开claude code,应该就能正常工作了。