企业内网环境通常有代理服务器、自定义 CA 证书、mTLS 认证等安全要求。Claude Code 通过环境变量和 settings.json 配置文件完整支持这些场景。
代理服务器配置
环境变量方式
Claude Code 遵循标准代理环境变量:
# 推荐:HTTPS 代理
export HTTPS_PROXY=https://proxy.example.com:8080
# 备选:HTTP 代理(HTTPS 不可用时)
export HTTP_PROXY=http://proxy.example.com:8080
# 排除代理(空格分隔格式)
export NO_PROXY="localhost 192.168.1.1 example.com .example.com"
# 排除代理(逗号分隔格式)
export NO_PROXY="localhost,192.168.1.1,example.com,.example.com"
# 所有请求都不走代理
export NO_PROXY="*"⚠️ Claude Code 不支持 SOCKS 代理。
settings.json 方式(推荐企业统一部署)
// ~/.claude/settings.json 或托管策略配置
{
"env": {
"HTTPS_PROXY": "https://proxy.example.com:8080",
"NO_PROXY": "localhost,internal.company.com"
}
}所有环境变量都可以通过 settings.json 的 env 字段配置,适合 IT 统一管理。
代理认证
Basic 认证(用户名密码):
export HTTPS_PROXY=http://username:password@proxy.example.com:8080⚠️ 避免在脚本中硬编码密码。使用环境变量或安全凭证存储(如 1Password CLI、macOS Keychain)。
高级认证(NTLM、Kerberos):Claude Code 原生不支持这些协议。建议使用支持你认证方式的 LLM Gateway 服务(如 LiteLLM)作为中间层。
自定义 CA 证书
企业环境常使用自签名 CA 证书(通过内部 PKI 或代理进行 SSL 解密)。配置 Claude Code 信任自定义 CA:
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem在 settings.json 中配置:
{
"env": {
"NODE_EXTRA_CA_CERTS": "/etc/ssl/company/ca-bundle.pem"
}
}注意事项:
- 证书文件必须是 PEM 格式(
.pem或.crt) - 如果企业有多个 CA,可以将所有 CA 证书合并到一个 PEM 文件中
- 代理进行 SSL 拦截(MITM)时,需要将代理的 CA 证书添加到此配置
mTLS 双向认证
部分企业要求客户端证书认证(mTLS),Claude Code 通过以下环境变量支持:
# 客户端证书(公钥)
export 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"在 settings.json 中配置:
{
"env": {
"CLAUDE_CODE_CLIENT_CERT": "/etc/ssl/client/cert.pem",
"CLAUDE_CODE_CLIENT_KEY": "/etc/ssl/client/key.pem"
}
}mTLS 适用场景:
- 通过企业 API 网关访问内部 Claude 服务
- 需要设备身份验证的零信任网络架构(ZTNA)
- 通过 LLM Gateway 路由并要求双向认证的场景
必须放通的网络地址
Claude Code 需要访问以下 URL,在防火墙和代理白名单中必须放行:
| URL | 用途 |
|---|---|
api.anthropic.com | Claude API 端点 |
claude.ai | claude.ai 账号认证 |
platform.claude.com | Anthropic Console 账号认证 |
容器化或受限网络环境中尤其重要:
- Docker 容器中的 Claude Code 需要确保出站到这三个域名的连接不被拦截
- 如果使用 Bedrock 或 Vertex AI,还需要放行对应云平台的 API 端点
完整企业配置示例
以下是一个典型企业内网配置,综合使用代理 + CA 证书 + 统一设置:
// 托管策略配置(/Library/Application Support/ClaudeCode/CLAUDE.md 同级的 settings.json)
{
"env": {
"HTTPS_PROXY": "https://proxy.corp.example.com:8080",
"NO_PROXY": "localhost,127.0.0.1,.corp.example.com,169.254.169.254",
"NODE_EXTRA_CA_CERTS": "/etc/ssl/corp/ca-bundle.pem",
"CLAUDE_CODE_CLIENT_CERT": "/etc/ssl/corp/client.pem",
"CLAUDE_CODE_CLIENT_KEY": "/etc/ssl/corp/client-key.pem"
}
}与 LLM Gateway 配合使用
企业通常通过 LLM Gateway(如 LiteLLM、Portkey)统一路由 AI 请求,优势:
- 统一审计日志和费用追踪
- 支持 NTLM/Kerberos 等复杂认证
- 实现模型路由和负载均衡
- 流量过滤和内容策略
Claude Code 配合 LLM Gateway 的配置参见:LLM Gateway 配置文档。
故障排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| SSL 证书错误 | 未配置企业 CA | 设置 NODE_EXTRA_CA_CERTS |
| 连接超时 | 防火墙阻止 | 确认 api.anthropic.com 在白名单 |
| 407 代理认证失败 | 代理凭证错误 | 检查 HTTPS_PROXY 中的用户名密码 |
| mTLS 握手失败 | 证书路径或格式错误 | 确认 PEM 格式,检查文件权限 |
| SOCKS 代理不工作 | 不支持 | 改用 HTTP/HTTPS 代理,或用 proxychains 包装 |
原文:Enterprise network configuration | 来源:Anthropic 官方文档