解决git SSL certificate problem
2024-07-02 11:40:03

提交项目代码到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