Claude Code 的网络和数据:代理怎么配,它实际连了哪些地方,你的代码和对话去了哪
本站在代理后面跑 Claude Code,记下它实际连的主机:即使模型请求走中转站,一句话的工夫它还连了五次 api.anthropic.com;设一个环境变量后只剩中转站。附代理配错的三种表现(非交互模式下会一声不吭地卡两分钟以上)、证书和防火墙要放行的地址,以及对话和代码存在哪、存多久、哪些会被发出去。
本站已实测,测试日期:2026-10-12。
本页目录(7 节)
这篇教程解决三个问题:
- 机器要走代理才能出去,或者机器上开着代理而你不想让它走,怎么配?
- 除了模型接口,Claude Code 还连了哪些地方?
- 你的代码和对话存在哪、存多久、哪些会被发出去?
第一、二个问题本站做了实测,第三个问题和后面几种环境整理自官方文档。
| 实测环境 | |
|---|---|
| 日期 | 2026-10-12 |
| 版本 | Claude Code 2.1.296 |
| 系统 | Ubuntu 24.04 |
| 模型 | Sonnet 5.5 |
| 连接方式 | 通过酷站AI 中转站,不是直连官方 |
| 代理 | 本站自己写的一个标准库小脚本,只听本机,只记录经过它的目标主机名。它看不到内容,内容是加密的 |
一、走代理
怎么配
Claude Code 认标准的代理环境变量:
export HTTPS_PROXY=http://127.0.0.1:7890
export HTTP_PROXY=http://127.0.0.1:7890
export NO_PROXY="localhost,192.168.1.1,.internal.example.com" # 这些不走代理
文档里的几条细节:
- 小写的写法也认。几个都设了的话,按
https_proxy、HTTPS_PROXY、http_proxy、HTTP_PROXY的顺序取第一个。 NO_PROXY用逗号或空格分隔都行。NO_PROXY="*"是全部不走代理。- 不支持 SOCKS 代理。 只有 SOCKS 端口的话,要先用别的工具转成 HTTP 代理。
- 代理要用户名密码的,写在地址里:
http://用户名:密码@主机:端口。 - shell 里导出的变量只在启动时读一次。改了要重开 Claude Code。
- 这些变量也可以写在设置文件的
env里。
实测:它实际连了哪些主机
让 Claude Code 走本站的小代理,看代理的记录:
| 做了什么 | 代理看到的连接 |
|---|---|
| 非交互模式问一句话 | api.koozhan.com 1 次,api.anthropic.com 5 次 |
同上,加 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 |
api.koozhan.com 1 次,没有别的 |
同第一行,加 NO_PROXY=api.koozhan.com |
api.anthropic.com 5 次。中转站那一次绕开了代理 |
| 交互模式只启动、不发消息,等 20 多秒 | api.anthropic.com 5 次,downloads.claude.ai 1 次 |
第一行值得停一下。模型的请求确实去了中转站,只有一次。但同一句话的工夫,Claude Code 另外连了五次 Anthropic 自己的接口地址。
这五次是什么,代理看不到内容。文档在“需要访问的地址”里写了 api.anthropic.com 的用途:模型请求、WebFetch 的域名安全检查、取功能开关、上报遥测事件。模型请求已经去了中转站,剩下的就是后面几样。downloads.claude.ai 是检查更新用的。
第二行给了关掉它们的办法。设上这个变量后,代理只看到中转站那一次:
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
文档列了它关掉的东西:自动更新、遥测、错误报告、/feedback 命令、更新日志等。它同时也让 Claude Code 不再去取功能开关,靠开关启用的功能会用不了。不过用令牌接中转站时,这些功能本来就拿不到,讲 advisor 的那篇里解释过。
在国内直接用中转站的人,这一条值得考虑。 api.anthropic.com 在很多网络里是连不上的,这几次连接注定失败。本站的测试机连得上这个地址,所以连不上时会不会拖慢启动或者拖慢回答,本站没有测到,只能说:关掉它们,至少少了几次注定失败的尝试。只想关更新、别的保留的话,单独设 DISABLE_AUTOUPDATER=1。
第三行说明 NO_PROXY 是生效的。机器上开着全局代理、但想让中转站的请求直连时,把中转站的域名写进去。
怎么确认代理生效了
交互会话里运行 /status:
Anthropic base URL: https://api.koozhan.com
Proxy: http://127.0.0.1:8899
Proxy 这一行显示当前用的代理地址。文档说地址解析不了时,这里会标成无效并忽略。
配错了的三种表现
一、少写了 http://:立刻报错,不启动。
Invalid proxy URL in HTTPS_PROXY: "127.0.0.1:8899" cannot be parsed as a URL.
Proxy settings must be a complete URL including the scheme, e.g. "http://proxy.example.com:8080".
Fix or unset HTTPS_PROXY and restart Claude Code.
这是唯一一种启动时就检查的错。
二、地址格式对,但那里没有代理:交互模式下有提示。
代理软件没开、端口写错,都是这一种。发一句话之后,界面上是:
✻ Connection refused — a firewall or proxy may be blocking it (ECONNREFUSED) · Retrying in 8s · attempt 6/10
✘ Auto-update failed · Run claude doctor
它说明了原因,并且在自动重试,一共十次,间隔越来越长。一分钟后还在第八次。
三、同样的错,在非交互模式下:一声不吭。
HTTPS_PROXY=http://127.0.0.1:8898 claude -p "只回答一个字:好"
没有任何输出。本站等了 120 秒,还是什么都没有,只能手动结束。它在后台做的是和上面一样的十次重试,只是 -p 模式不显示过程。
把代理写成 SOCKS 地址(socks5://…)也是这个表现:非交互模式下 120 秒没有任何输出。
所以在脚本和 CI 里用 Claude Code、又要走代理的话,先单独验证代理通不通,再调 claude -p,并且给这一步加上超时。否则一个没启动的代理会让整条流水线静悄悄地卡住好几分钟。验证很简单:
curl -sS -m 10 -x "$HTTPS_PROXY" -o /dev/null -w '%{http_code}\n' https://你的接口地址/
二、证书(整理自文档,没有实测)
公司网络常常会在中间解密再加密 HTTPS 流量,用的是公司自己签发的根证书。程序不认这个证书,就会报证书错误。
文档的说法:
- 默认同时信任两套证书:Claude Code 自带的那一套,加上操作系统证书库里的。所以公司的根证书只要已经装进了系统,一般不用另外配置。
- 证书没进系统库的话,单独指给它:
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
- 想只信其中一套,用
CLAUDE_CODE_CERT_STORE,值是bundled、system或者两个都写。
确认证书读到了没有:用 claude --debug 启动,在调试日志里找这一行:
CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS (/etc/ssl/certs/corp-ca.pem)
读不到的话,日志里会是 Failed to read 或 Failed to load 加原因。/status 里也有一行显示证书的路径,但文档提醒它只显示路径,不检查文件是否真的读成功了,要以调试日志为准。
三、防火墙要放行哪些地址(整理自文档)
直连官方时,文档列的主要地址:
| 地址 | 用来做什么 |
|---|---|
api.anthropic.com |
模型请求、功能开关、遥测 |
claude.ai、claude.com、platform.claude.com |
登录 |
downloads.claude.ai |
安装、自动更新、插件里的可执行文件 |
github.com |
克隆插件市场和插件,包括官方市场 |
registry.npmjs.org |
装插件的 npm 依赖、用 npx 启动的 MCP 服务器 |
raw.githubusercontent.com |
更新日志 |
storage.googleapis.com |
插件的安装量等信息 |
通过中转站用的话,必须能连上的只有中转站的域名。但装插件、更新 Claude Code 本身还是要上面的 github.com、downloads.claude.ai 这几个。插件装不上时先想想是不是这里。
四、你的代码和对话去了哪(整理自文档)
发出去的
Claude Code 在你的机器上运行。要让模型干活,它得把数据发出去:你的每一句提示词、它读过的文件内容、命令的输出、模型的回答。传输过程是加密的。
发给谁,取决于接口地址指向谁。 直连时是 Anthropic。通过中转站时,先到中转站,再由中转站转给上游。加密是你和中转站之间的,到了中转站那一头是明文。也就是说,中转站看得到你的全部对话和它读过的代码。它怎么处理这些数据,由它自己的条款决定,下面 Anthropic 的政策管不到它。选中转站时这一点的分量不比价格轻,见中转站怎么选。
Anthropic 那边怎么处理
文档按账号类型分了两种:
| 个人套餐(Free、Pro、Max) | 商业条款(Team、Enterprise、API) | |
|---|---|---|
| 会不会用来训练模型 | 你自己选。隐私设置里打开了才会 | 不会,除非你主动加入相关计划 |
| 保留多久 | 允许用于改进模型的:5 年;不允许的:30 天 | 标准是 30 天 |
个人套餐的那个开关在 claude.ai 的隐私设置里,随时可以改。
留在你机器上的
会话记录以明文存在 ~/.claude/projects/ 下,默认留 30 天。里面有文件内容、命令输出、你粘贴过的东西。设置文件那篇里列了这个目录下还有什么,以及怎么改保留的天数。
模型请求之外,它还发什么
两类运行数据:
- 用量指标:延迟、可靠性、使用方式。文档写明不包含你的代码、提示词和文件路径。
- 错误报告:Claude Code 自身出错时的错误信息和调用栈,发出之前会抹掉已知样式的密钥、文件路径、邮箱。文档说它只在用 Pro 或 Max 订阅登录、并且直连官方接口时才开。
另外有两样是你主动触发才会发的:
/feedback(以及/bug、/share):会把对话历史连同代码发给 Anthropic,保留 5 年。发之前可以选带多少历史。没有配置 Anthropic 凭据时,它不发送,改成在本机~/.claude/feedback-bundles/下写一个归档。- 会话评分:界面偶尔问“这次会话 Claude 表现如何”,回答它只记录评分。之后可能再问一句“能不能让 Anthropic 看这次会话的记录”,选了 Yes 才会上传。
对应的开关:
| 想关掉 | 设 |
|---|---|
| 用量指标 | DISABLE_TELEMETRY=1 |
| 错误报告 | DISABLE_ERROR_REPORTING=1 |
| 会话评分的弹窗 | CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1 |
| 上面这些,加自动更新、更新日志等一切非必需的联网 | CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 |
前两个有个反直觉的地方,速查那篇里提过:设成 0 或 false 也算关。
五、另外几种环境(整理自文档,没有实测)
这四页和网络没有直接关系,是“在别的环境里跑 Claude Code”时会用到的,放在这里做个指引。
开发容器(dev container)。 让团队每个人都在同一个隔离的容器里干活,Claude 运行的命令在容器里执行,改的文件仍然出现在本地仓库里。往 .devcontainer/devcontainer.json 里加一段就能装上:
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
}
}
文档的提醒很直接:容器不是万能的。如果在里面用跳过全部权限确认的方式运行,一个恶意的项目照样能把容器里够得着的东西带出去,包括存在 ~/.claude 里的 Claude Code 凭据。不要把 ~/.ssh、云厂商的凭据文件挂进容器。容器里要重建后还保留登录状态、要限制出站网络,文档各有一节。
Linux 上的桌面应用(测试版)。 支持 Ubuntu 22.04 及以后、Debian 12 及以后,x86_64 和 arm64。从 Anthropic 的 apt 仓库安装。别的发行版(Fedora、Arch 等)用命令行版。
Windows 上在 WSL 里跑桌面会话。 桌面应用的 Code 页可以把会话放进 WSL 2 的发行版里跑,用里面的 Linux 工具链。要求是 WSL 2(不支持 WSL 1)、至少一个发行版、发行版里装了 git。仓库放在 WSL 的文件系统里时应该用这种方式,从 Windows 那一侧去操作那些文件又慢,文件监听还会失效。文档说 WSL 会话里暂时没有内置终端、连接器和插件、会话分支这几样。
桌面应用里的 iOS 模拟器面板(公开测试)。 只在 macOS 上,要装了 iOS 平台的 Xcode,要付费套餐。Claude 构建、安装、启动应用时,面板会自动打开并实时显示模拟器的屏幕。
桌面应用的基本用法见在 VS Code、JetBrains 和桌面应用里用 Claude Code。
这一趟花了多少
约 0.2 美元。成功的三次短问答每次 0.06 美元左右;代理配错的那几次没有发出请求,不花钱。这是 Claude Code 按官方价格估算的数字,不是中转站实际扣的金额。
这次实测没有覆盖到的
- 没有在连不上
api.anthropic.com的网络里测。 那几次连接失败时会不会拖慢 Claude Code,是国内读者最关心的,本站的测试机测不出来。 - 那五次连接各是什么,没有看到。 内容是加密的,用途是对照文档推断的。
- 证书部分完全没有实测,没有搭会解密流量的代理。
- 带认证的代理、mTLS 没有试。
- 代理配错时只等了 120 秒,十次重试全部用完之后的报错没有看到。
- 数据政策是文档的说法,本站无从验证;中转站一方怎么处理数据,更不在这篇的范围里。
- 开发容器、Linux 桌面版、WSL、iOS 模拟器四样都没有实测。