---
title: "Claude Code 网络要求：与 Codex 的域名、端口和代理设置对照"
description: "列出 Claude Code 与 Codex 各自需要访问的域名、端口和代理配置方式，附企业防火墙放行清单写法、curl 自检命令，以及请求被拦截时常见的报错现象和排查顺序。"
url: https://cdnping.org/blog/claude-code-vs-codex-network-requirements
language: zh-CN
published: 2026-10-21
category: "开发工具"
tags: ["Claude Code","Codex","企业网络","防火墙","代理"]
source: cdnping.org
license: Free to quote and summarize with a link to the url above.
---
# 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 出口不一致的排查](/blog/ipv6-dual-stack-proxy-mismatch)。

## 走代理时怎么配置？

### Claude Code

Claude Code 读取标准的代理环境变量：

```bash
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` 里打开：

```toml
[sandbox_workspace_write]
network_access = true
```

所以“Codex 能正常回复，但装依赖时报网络错误”，多数时候不是代理坏了，而是沙箱策略。Claude Code 的沙箱模式也有类似的出站域名限制，排查时先确认报错来自工具本身还是来自它执行的命令。

## 企业防火墙放行清单怎么写？

给网络管理员提需求时，按“必需 / 按需 / 可关闭”分开写，比一股脑列一串域名更容易通过审批。下面是一个可以直接改的模板：

```text
用途：开发人员使用 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 接口地址配置](/blog/configure-custom-api-endpoint-claude-code-codex)。例如 [AGI Plan](https://agiplan.dev) 是同时兼容 Anthropic 和 OpenAI 两种接口格式的聚合网关（AGI Plan 是 cdnping 的商业合作方），站方明确说明自己不是官方授权渠道，选型前请自行评估。

## 怎么验证网络是通的？

在要跑 Claude Code 或 Codex 的那台机器上执行，保持和工具相同的环境变量：

```bash
# 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)确认当前出口 IP、是否走了分流、有没有 DNS 泄漏。更完整的步骤见[开发者网络自检清单](/blog/developer-network-self-check-2026)；如果已经确认是 Claude Code 连接报错，按[四层网络检查清单](/blog/claude-code-connection-troubleshooting)往下查。

## 网络没问题，但还是连不上？

先排除服务端故障。cdnping 从 Cloudflare 边缘每 5 分钟探测各官方 API 入口，你可以在 [Claude API 状态](/status/anthropic)和 [OpenAI API 状态](/status/openai)页面看到，也可以在 [Claude Code 挂了吗](/down/claude-code)和 [Codex 挂了吗](/down/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 状态页](/blog/how-to-read-ai-status-pages)。

最后一种情况和网络无关：Anthropic 和 OpenAI 都只在其支持的国家和地区提供服务，账号或请求来自不受支持的地区时会被拒绝，这类报错通常是 403 并带有地区相关提示。原因和官方政策见[Claude 提示所在地区不受支持](/blog/claude-unsupported-region-explained)。请遵守服务条款和当地法规，选择合规的接入方式。
