HTTP 代理与自定义证书
配置 IDE 代理、环境变量、Kerberos SPN 和企业证书信任。
This page has not been translated into English yet. The original Chinese version is shown below.
Copilot 默认通过 HTTPS 直连服务,不一定需要额外网络设置。企业网络使用代理时,客户端代理与管理员的防火墙允许列表都需要正确配置。
代理类型与环境变量
官方支持基本 HTTP 代理及 Basic / Kerberos 认证;当前不支持代理地址本身以 https:// 开头。目标请求使用 HTTPS,与代理 URL 使用 http:// 并不矛盾。
未在编辑器直接配置代理时,Copilot 按以下顺序选择环境变量,前者优先:
HTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy
Copilot 会把最高优先级变量中的地址用于 HTTP 和 HTTPS 请求,不按变量名将两种请求拆分。编辑器能使用某种代理配置,也不保证 Copilot 的自有代理连接实现支持它。
各编辑器入口
| 编辑器 | 设置位置 | 认证说明 |
|---|---|---|
| VS Code | Settings → Application → Proxy | 地址示例 http://localhost:3128;Basic 凭据可放在代理 URL |
| JetBrains | Settings → Appearance & Behavior → System Settings → HTTP Proxy | 选择 Manual proxy configuration、HTTP,填写主机和端口;Proxy authentication 可填写凭据 |
| Visual Studio | Windows 系统代理设置 | 读取代理地址,但不会从该设置自动取得认证凭据 |
官方提醒 JetBrains 的代理认证设置以明文保存凭据。含用户名和密码的代理 URL 同样包含敏感信息,不应放进共享配置。
Visual Studio 可以通过以下 Windows 命令启用默认代理凭据传递,运行后重启需要使用该变量的应用:
setx COPILOT_USE_DEFAULTPROXY true另一种官方方式是在受支持的代理环境变量中使用含凭据的 URL。
Kerberos
需要对应系统的 krb5 库,以及代理服务的有效 ticket;可用 klist 检查。默认 SPN 从代理地址推导,例如 http://proxy.example.com:3128 对应 HTTP/proxy.example.com。
若默认值不适合企业代理:
- VS Code 可设置
http.proxyKerberosServicePrincipal。 - JetBrains 在 Tools → GitHub Copilot → Network 中设置 Override Kerberos Proxy Service Principal Name。
- VS Code 和 JetBrains 也可使用
AGENT_KERBEROS_SERVICE_PRINCIPAL环境变量。 - Visual Studio 当前不支持覆盖默认 SPN。
自定义证书
Copilot 从操作系统信任库读取证书,也读取 NODE_EXTRA_CA_CERTS 指定文件中的额外证书。透明代理或 Zscaler 等场景即使没有显式代理设置,也可能需要企业证书。
安装企业根证书前确认来源正确;它允许证书持有方解密检查受该证书信任的流量。优先由 IT 部门配置正确的信任链。官方虽提供 VS Code 关闭 Proxy Strict SSL、JetBrains 开启 Accept non-trusted certificates automatically 的方法,但明确不建议忽略证书错误。
连接失败时按网络排障区分代理、认证和证书问题。