
企业网络里的 Claude Code 故障,常常不是模型问题,而是代理、证书、mTLS、allowlist、WebFetch 预检和 LLM gateway 边界混在一起。本篇按官方文档拆解 Corporate Proxy 配置,帮助团队把受限网络里的 Claude Code 跑稳。
claude,最容易误判的错误不是模型不好用,而是网络链路根本没打通:代理能不能转发 HTTPS、企业根证书有没有被信任、WebFetch 的域名预检会不会被防火墙拦住、mTLS 客户端证书是不是已经过期。官方 Enterprise network configuration 文档把这些东西放在同一页,因为它们共同决定 Claude Code 能不能在受限网络里稳定工作。1| 配置 | 解决什么问题 | 典型变量 |
|---|---|---|
| Corporate proxy | 出站流量必须经过公司代理 2 | HTTPS_PROXY、HTTP_PROXY、NO_PROXY |
| CA / mTLS | TLS 检查、私有 CA、客户端证书认证 1 | CLAUDE_CODE_CERT_STORE、NODE_EXTRA_CA_CERTS、CLAUDE_CODE_CLIENT_CERT |
| LLM gateway | 模型请求统一鉴权、计费、审计、限流 3 | ANTHROPIC_BASE_URL、provider-specific base URL |
HTTPS_PROXY 是主路径,HTTP_PROXY 是退路HTTPS_PROXY;如果没有 HTTPS 代理,再用 HTTP_PROXY。NO_PROXY 可以用空格或逗号分隔,支持 localhost、IP、具体域名和 .example.com 这种域名后缀。1export HTTPS_PROXY="https://proxy.example.com:8080"
export NO_PROXY="localhost,127.0.0.1,.corp.example.com"
claudeNO_PROXY="*" 是绕过所有代理。这个值适合临时验证「是不是代理导致的问题」,不适合作为团队默认配置。否则你以为流量都过了审计出口,实际全被本机直连绕开。export HTTPS_PROXY="http://username:password@proxy.example.com:8080"export PROXY_USER="alice"
export PROXY_PASS="$(security find-generic-password -s corp-proxy -w)"
export HTTPS_PROXY="http://${PROXY_USER}:${PROXY_PASS}@proxy.example.com:8080"NODE_EXTRA_CA_CERTStls.getCACertificates;native installer 一定支持,npm 安装则需要 Node 22.15 或更新版本。1claude doctor
node --versionexport CLAUDE_CODE_CERT_STORE="bundled,system"
# 或只信系统证书库
export CLAUDE_CODE_CERT_STORE="system"export NODE_EXTRA_CA_CERTS="/path/to/corp-root-ca.pem"CLAUDE_CODE_CERT_STORE=system 不会神奇修复它。要么换 native installer,要么升级 Node,要么用 NODE_EXTRA_CA_CERTS 明确给 PEM。CLAUDE_CODE_CERT_STORE 要放进 env,不是顶层 settings keyCLAUDE_CODE_CERT_STORE 没有专门的 settings.json schema key。如果要写进配置文件,需要放在 env 下面。1{
"env": {
"HTTPS_PROXY": "https://proxy.example.com:8080",
"NO_PROXY": "localhost,127.0.0.1,.corp.example.com",
"CLAUDE_CODE_CERT_STORE": "bundled,system",
"NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/corp-root-ca.pem"
}
}env 会在每次 claude 启动时生效。可选位置包括 ~/.claude/settings.json、项目里的 .claude/settings.json、.claude/settings.local.json,以及组织管理员下发的 managed settings。4managed-settings.json 等方式下发,而且用户和项目配置不能覆盖。5{
"env": {
"HTTPS_PROXY": "https://proxy.corp.example.com:8080",
"NO_PROXY": "localhost,127.0.0.1,.corp.example.com",
"CLAUDE_CODE_CERT_STORE": "bundled,system",
"DISABLE_TELEMETRY": "1",
"DISABLE_ERROR_REPORTING": "1"
}
}managed-settings.d/ drop-in 目录:基础文件先合并,目录里的 *.json 按文件名排序后继续合并。这个机制适合让安全、平台、开发体验团队分别维护自己的片段。5export CLAUDE_CODE_CLIENT_CERT="/path/to/client-cert.pem"
export CLAUDE_CODE_CLIENT_KEY="/path/to/client-key.pem"
export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="your-passphrase"api.anthropic.comapi.anthropic.com 用于 Claude API 请求,claude.ai 用于 claude.ai 账号认证,platform.claude.com 用于 Console 账号认证,downloads.claude.ai 用于插件可执行文件下载、native installer 和 auto-updater,raw.githubusercontent.com 用于 /release-notes changelog feed 和插件市场安装统计等。1api.anthropic.com,CLI 可能能回答问题,但安装更新、账号登录、插件和 release notes 都会出现零散故障。| 使用面 | 至少核对 |
|---|---|
| API key / Console auth | api.anthropic.com、platform.claude.com 1 |
| Claude.ai 订阅登录 | api.anthropic.com、claude.ai 1 |
| Native install / auto-update | downloads.claude.ai,旧版本还可能需要 storage.googleapis.com 1 |
| Chrome / artifact / release notes | bridge.claudeusercontent.com、*.claudeusercontent.com、raw.githubusercontent.com 1 |
api.anthropic.com 做 domain safety check。数据使用文档说,WebFetch 在抓取 URL 前会把 hostname 发到 api.anthropic.com,不发送完整 URL、path 或页面内容;结果按 hostname 缓存 5 分钟。6api.anthropic.com,WebFetch 会失败,除非 allowlist 这个域名,或者在 settings 里设置 skipWebFetchPreflight: true。文档也提醒,关闭检查后 WebFetch 会尝试抓取任何 URL,因此需要配合 WebFetch permission rules 限制可访问域名。6apiKeyHelper 生效时,开发者的 claude.ai subscription 不再用于这个 session;流量按 gateway 转发的上游凭据计费。只设置 ANTHROPIC_BASE_URL、但没有 gateway credential,不会替代订阅登录。3HTTPS_PROXY 和 NO_PROXY,确认 claude 能登录、能发模型请求。NODE_EXTRA_CA_CERTS 显式验证。CLAUDE_CODE_CLIENT_CERT 和 CLAUDE_CODE_CLIENT_KEY 路径,轮换时原地替换文件。api.anthropic.com。api.anthropic.com 预检请求和 skipWebFetchPreflight 策略。docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.