因为众所周知的原因,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,应该就能正常工作了。