Claude Code 网络要求:与 Codex 的域名、端口和代理设置对照
Claude Code 的网络要求是:出站 HTTPS(443 端口)访问 Anthropic 的 API 域名和登录域名,不需要入站端口,也不需要 UDP。Codex 类似,出站 HTTPS 到 OpenAI 的 API 或 ChatGPT 登录域名即可,唯一要留意的是浏览器登录时会在本机起一个回调端口。实际出问题的多半是代理类型、TLS 拦截和长连接超时。
本文只写两家官方文档里能查到的内容。两个工具更新很快,域名清单以官方文档当前版本为准:Claude Code 看 Anthropic 文档里的“Network configuration / Corporate proxy”页面,Codex 看 OpenAI 的 Codex 文档和 GitHub 仓库里的配置说明。
两个工具分别要访问哪些域名?
Claude Code
按用途分三类:
| 用途 | 域名 | 说明 |
|---|---|---|
| 模型调用 | api.anthropic.com | 所有对话和工具调用都走这里,必须放行 |
| 账号登录 | claude.ai | 用 Claude 订阅账号登录时需要 |
| 账号登录 | platform.claude.com(原 Console 域名) | 用 API 账号(Console)登录时需要 |
| 非必要流量 | 遥测与错误上报 | 可以用环境变量关闭,见下文 |
| 安装与更新 | npm 源或原生安装器的下载地址 | 只在安装、升级时需要 |
如果你通过 Amazon Bedrock、Google Vertex AI 或自定义的 ANTHROPIC_BASE_URL 使用 Claude Code,模型调用就不再走 api.anthropic.com,放行清单要换成对应的云服务端点或你自己的网关地址。
Codex
| 用途 | 域名 / 地址 | 说明 |
|---|---|---|
| 模型调用(API Key) | api.openai.com | 用 API Key 登录时的默认地址 |
| 模型调用与登录(ChatGPT 账号) | chatgpt.com、auth.openai.com | 用 ChatGPT 账号登录时需要 |
| 登录回调 | localhost:1455 | 浏览器登录完成后回调本机,不出网 |
| 安装与更新 | npm 源、Homebrew 或 GitHub Releases | 只在安装、升级时需要 |
localhost:1455 是很多人在远程服务器上卡住的地方:在 SSH 机器上执行登录,浏览器开在本地电脑,回调打不回服务器。官方文档给的办法是做一次 SSH 端口转发(ssh -L 1455:localhost:1455 user@host),或者在本机登录后把凭据文件拷过去,或者直接用 API Key。
端口和协议有什么要求?
两者都只需要出站 TCP 443。补充几点:
- 不需要入站端口。Codex 的 1455 只监听本机回环地址。
- 响应是长时间的流式 HTTPS。一次 agent 任务可能持续几分钟,期间连接一直开着。代理或防火墙如果有较短的空闲超时、或者会缓冲整个响应再转发,就会出现“卡住不动然后断开”。
- IPv6:如果系统优先走 IPv6,而代理只接管了 IPv4,请求可能绕过代理。这种情况见双栈网络下 IPv4 与 IPv6 出口不一致的排查。
走代理时怎么配置?
Claude Code
Claude Code 读取标准的代理环境变量:
export HTTPS_PROXY=http://proxy.example.com:8080
export HTTP_PROXY=http://proxy.example.com:8080
export NO_PROXY="localhost,127.0.0.1,.internal.example.com"
几个需要注意的点(均来自 Anthropic 官方文档):
- 官方文档注明不支持 SOCKS 代理。如果你本地只有 SOCKS5 端口,需要换成代理软件提供的 HTTP 端口。
- 公司做了 TLS 拦截(中间人证书)时,用
NODE_EXTRA_CA_CERTS=/path/to/ca.pem指定企业根证书。 - 需要客户端证书(mTLS)时,用
CLAUDE_CODE_CLIENT_CERT和CLAUDE_CODE_CLIENT_KEY。 - 想减少需要放行的域名,可以设置
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1,它会关掉遥测、错误上报等非必要请求;也可以分别用DISABLE_TELEMETRY、DISABLE_ERROR_REPORTING单独关。 - 这些变量也可以写进
settings.json的env字段,团队统一下发比让每个人改 shell 配置更稳。
Codex
Codex CLI 同样读取 HTTPS_PROXY / HTTP_PROXY / NO_PROXY。企业根证书的配置方式在不同版本间有过调整,先查官方仓库当前文档里关于自定义 CA 的说明,再决定用哪个环境变量。
Codex 有一点和 Claude Code 不同:Codex 自身的网络,和它在沙箱里执行命令时的网络,是两回事。在默认的 workspace-write 沙箱模式下,agent 执行的命令(例如 npm install、pip install、curl)默认没有网络。如果确实需要,在 ~/.codex/config.toml 里打开:
[sandbox_workspace_write]
network_access = true
所以“Codex 能正常回复,但装依赖时报网络错误”,多数时候不是代理坏了,而是沙箱策略。Claude Code 的沙箱模式也有类似的出站域名限制,排查时先确认报错来自工具本身还是来自它执行的命令。
企业防火墙放行清单怎么写?
给网络管理员提需求时,按“必需 / 按需 / 可关闭”分开写,比一股脑列一串域名更容易通过审批。下面是一个可以直接改的模板:
用途:开发人员使用 Claude Code / Codex 命令行工具
协议:出站 TCP 443(HTTPS),无入站需求
要求:允许长连接流式响应,空闲超时建议不短于 10 分钟
[必需 - Claude Code]
api.anthropic.com
[按需 - Claude Code 登录,二选一]
claude.ai (订阅账号)
platform.claude.com (API 账号)
[必需 - Codex,按登录方式二选一]
api.openai.com (API Key)
chatgpt.com, auth.openai.com (ChatGPT 账号)
[按需 - 安装和升级]
内部 npm 镜像,或 registry.npmjs.org
[可关闭]
Claude Code 遥测与错误上报:设置 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
“空闲超时不短于 10 分钟”是一个保守建议值,不是官方要求;具体以你们实际任务的时长来定。
如果公司走统一的 AI 网关(自建或第三方),清单就只剩网关那一个域名。怎么把两个工具指向自定义地址,可以看Claude Code 自定义 API 与 Codex 接口地址配置。例如 AGI Plan 是同时兼容 Anthropic 和 OpenAI 两种接口格式的聚合网关(AGI Plan 是 cdnping 的商业合作方),站方明确说明自己不是官方授权渠道,选型前请自行评估。
怎么验证网络是通的?
在要跑 Claude Code 或 Codex 的那台机器上执行,保持和工具相同的环境变量:
# 1. 看代理变量是否生效
env | grep -i proxy
# 2. 测 Anthropic API 的连通性(未带密钥,返回 401/405 之类的 HTTP 状态码说明网络已通)
curl -sS -o /dev/null -w "%{http_code} connect=%{time_connect}s tls=%{time_appconnect}s\n" \
https://api.anthropic.com/v1/messages
# 3. 测 OpenAI API
curl -sS -o /dev/null -w "%{http_code} connect=%{time_connect}s tls=%{time_appconnect}s\n" \
https://api.openai.com/v1/models
# 4. 看证书是谁签发的(被 TLS 拦截时这里会显示公司 CA)
curl -sv https://api.anthropic.com 2>&1 | grep -i "issuer"
判断方法:
| 现象 | 大概率原因 |
|---|---|
| 返回 HTTP 状态码(401、403、404、405) | 网络层已通,问题在密钥或账号 |
Could not resolve host | DNS 被拦或代理没接管 DNS |
Connection timed out / 卡在 connect | 防火墙未放行 443,或代理没生效 |
SSL certificate problem | 公司 TLS 拦截,需要配置企业根证书 |
| curl 正常但工具报错 | 工具没读到同样的环境变量,或用了 SOCKS 代理 |
| 回复中途断开 | 代理或防火墙的空闲超时太短 |
浏览器这边,可以用 cdnping 的在线测速看到两家 API 的首次连接(含 DNS 和 TLS 握手)和往返延迟,用 IP 与环境检测确认当前出口 IP、是否走了分流、有没有 DNS 泄漏。更完整的步骤见开发者网络自检清单;如果已经确认是 Claude Code 连接报错,按四层网络检查清单往下查。
网络没问题,但还是连不上?
先排除服务端故障。cdnping 从 Cloudflare 边缘每 5 分钟探测各官方 API 入口,你可以在 Claude API 状态和 OpenAI API 状态页面看到,也可以在 Claude Code 挂了吗和 Codex 挂了吗看其他用户的报告。
给一个参考:cdnping 在 2026 年 10 月 17 日开始采集,在首批约 85 分钟的探测窗口里(Cloudflare 丹佛 DEN 节点),api.anthropic.com 中位数 73 ms、p95 84 ms,api.openai.com 中位数 96 ms、p95 194 ms,两者都没有失败。这只说明服务端入口在美国节点看来是可达的,不代表你本地到它们的路径,样本也还很短。
另外,根据 cdnping 同步的官方状态页记录,2026 年 9 月 17 日以来 Anthropic 状态页有 6 次 major 级别事件,OpenAI 状态页有 4 次 major、19 次 minor,其中 10 月 14 日(UTC)有一条“Degraded performance in Codex and ChatGPT Work”,持续约 167 分钟。遇到问题先看状态页,可以少走弯路。状态页的事件等级怎么理解,可以看怎么看 OpenAI 和 Claude 状态页。
最后一种情况和网络无关:Anthropic 和 OpenAI 都只在其支持的国家和地区提供服务,账号或请求来自不受支持的地区时会被拒绝,这类报错通常是 403 并带有地区相关提示。原因和官方政策见Claude 提示所在地区不受支持。请遵守服务条款和当地法规,选择合规的接入方式。