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

特定网络下Git操作出现SSL证书错误的排查与解决方法

特定网络下Git拉取/推送时“unable to get local issuer certificate”问题排查与解决

一、排查方向

  • 检查网络的代理/网关证书拦截
    企业内网、校园网这类网络常通过网关拦截HTTPS流量并替换证书,若系统或Git未信任该自定义证书,就会触发报错。可执行curl -v https://你的Git仓库地址测试,查看输出中的证书链是否存在陌生的本地颁发机构。
  • 验证Git的SSL配置差异
    不同网络环境下,Git的SSL配置可能被代理工具自动修改。执行git config --global http.sslVerify和git config --local http.sslVerify,确认问题网络下是否开启了SSL验证但未配置对应证书,或证书路径错误。
  • 检查系统证书信任列表
    确认问题网络所在的系统(Windows/macOS/Linux)是否未信任该网络的根证书。比如Windows可通过“证书管理器”查看受信任的根证书颁发机构,macOS用“钥匙串访问”检查。

二、解决办法

1. 导入网络自定义证书到Git信任列表

  • 先获取该网络的根证书(可向网络管理员索要,或通过浏览器访问Git仓库地址,将证书导出为PEM格式)
  • 配置Git使用该证书:
    git config --global http.sslCAInfo "/path/to/your/certificate.pem"
    
    若仅针对单个仓库生效,将--global替换为--local即可。

2. 临时禁用SSL验证(仅限信任网络)

若确认该网络安全,可临时关闭Git的SSL验证:

git config --global http.sslVerify false

注意:全局设置会影响所有仓库,建议仅针对特定仓库配置:

git config --local http.sslVerify false

3. 让系统信任网络根证书

  • Windows:双击证书文件,选择“安装证书”,指定“本地计算机”,将证书放入“受信任的根证书颁发机构”存储。
  • macOS:打开“钥匙串访问”,导入证书后右键点击证书选择“显示简介”,在“信任”选项中将“使用此证书时”设为“始终信任”。
  • Linux:将证书文件复制到/usr/local/share/ca-certificates/目录,执行update-ca-certificates更新系统证书列表。

4. 修正Git代理配置

若网络需使用代理,确保Git代理配置正确:

# 查看当前代理配置
git config --global --get http.proxy
git config --global --get https.proxy

# 若无需代理,清除配置
git config --global --unset http.proxy
git config --global --unset https.proxy

若需代理,配置正确的代理地址,并确保代理的证书已被信任。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 12:47:39