You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

企业内网环境下VS Code登录GitHub报错无法获取本地颁发者证书求助

两个报错的核心原因如下:

  1. 第一次报错是公司内网代理启用了SSL中间人劫持,会替换所有HTTPS请求的证书为企业自签证书,VS Code默认不信任该自签证书,因此触发证书校验失败
  2. 第二次报错是除了Windows系统代理外,VS Code、环境变量、Git配置中任意一处留存了公司代理地址,都会导致VS Code优先读取该配置发起请求,删除系统代理后就会触发代理不可达报错
排查步骤
  • 检查VS Code内置代理配置:按Ctrl+Shift+P打开命令面板,输入Preferences: Open Settings (JSON),查看配置文件中是否存在http.proxy、https.proxy相关配置项,若存在则说明VS Code单独配置了代理,不受系统代理设置影响
  • 检查Windows环境变量:查看系统变量和用户变量中是否存在HTTP_PROXY、HTTPS_PROXY、ALL_PROXY三个变量,若存在则会被VS Code的Node.js运行环境默认读取
  • 检查Git全局配置:打开cmd执行git config --global --list,查看是否有http.proxy、https.proxy配置项,VS Code的GitHub授权逻辑会复用本地Git的网络配置
解决方案

场景1:继续使用公司代理(符合企业内网安全规范,推荐)

  • 导出公司代理的根证书(PEM格式,后缀为.crt或.pem),存放在本地固定路径
  • 打开VS Code的settings.json文件,添加以下配置:
// 填公司代理地址,需要认证的话格式为http://用户名:密码@代理地址:端口
"http.proxy": "http://你的公司代理地址:端口",
// 填本地存的根证书绝对路径
"http.proxyCa": "C:/certs/company-root.crt"
  • 也可以新增Windows系统环境变量NODE_EXTRA_CA_CERTS,值为根证书的绝对路径,重启VS Code后生效,可同时解决所有VS Code内Node.js进程的证书校验问题

场景2:绕过公司代理(仅确认网络允许直连外网时使用)

  • 清空VS Code settings.json中所有代理相关配置
  • 删除Windows环境变量中的HTTP_PROXY、HTTPS_PROXY、ALL_PROXY
  • 执行以下命令清除Git代理配置:
git config --global --unset http.proxy
git config --global --unset https.proxy
  • 在settings.json中添加配置"http.proxySupport": "off",强制VS Code禁用代理逻辑,重启VS Code后重新发起登录即可

内容的提问来源于stack exchange,提问作者Schumann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 10:45:00