解决git SSL certificate problem
2024-12-09 11:13:16
提交项目代码到github上的时候,突然就报了这个问题。
正文
其实是个很简单的问题,只是以前没遇到过,所以不知道怎么处理。
错误原因
这个错误表明Git在尝试通过HTTPS进行通信时,遇到了SSL证书验证问题。
具体来说,Git客户端无法获取到用于验证本地颁发者证书的信息。
这通常发生在Git客户端没有正确配置或者没有本地证书文件的情况下,尤其是在自签名的证书或者是过期的证书文件缺失的情况下。
1 | git SSL certificate problem: unable to get local issuer certificate |
解决方案
方案一:忽略验证
使用Git的配置选项来忽略SSL证书验证(不推荐,因为这会降低通信的安全性)
1 | git config --global http.sslVerify false |
方案二:更新CA证书库
确保系统中安装了正确的CA证书。
在Linux系统中,你可以通过更新CA证书库来解决问题。
如果是自签名的证书,你可以将服务器的证书添加到Git的信任列表中
1 | git config --global http.sslCAInfo /path/to/certificate.pem |
如果你使用的是代理服务器,请确保代理服务器的SSL证书是有效的,或者配置Git以跳过代理的SSL验证。
更新Git到最新版本,以确保包含最新的证书信息。
如果问题仍然存在,可以考虑使用SSH方式克隆或者拉取远程仓库,从而绕过HTTPS的SSL验证问题。
结语
一个常规的CA证书验证问题,但是平时很少遇到,所以这里记录一下,如果后续遇到,方便排查。
参考
解决:git SSL certificate problem: unable to get local issuer certificate