阅读 275

git clone--SSL certificate problem: unable to get local issuer certificate

前言

今天在开启新项目的时候,在 git 仓库复制了仓库地址,打开 iTerm2 然后满怀热情的在命令行中输入了 git clone ’****仓库地址*****‘,就在我以为可以正常执行拉取代码的时候,现实给了我一个耳光,我遇到了一个提示: fatal: unable to access '克隆代码的仓库地址': SSL certificate problem: unable to get local issuer certificate,一个我从来没有遇到过提示,接下来就是进行谷歌查询。

错误原因

git 开启了 SSL 验证。 无法获取本地颁发者证书

在某些情况下,当您使用客户端 SSL 证书时,当您向安全 HTTPS 源发出请求时,您必须共享 SSL 证书以验证您的身份。因此,如果遇到“ SSL 证书问题:无法获得本地颁发者证书”错误,则表明系统上的根证书工作不正常。

解决方案

更改php.ini(维护SSL)

  • 转到 curl.haxx.se/ca/cacert.p… 并下载 cacert.pem

  • cacert.pem 复制到你的 openssl/zend 版本,例如 “/usr/local/openssl-0.9.8/certs/cacert.pem”。

  • 在 php.ini 文件中,通过添加 “cainfo = '/usr/local/openssl-0.9.8/certs/cacert.pem'” 来修改 CURL 配置

  • 重新启动 PHP 并查看 CURL 现在是否能够读取 HTTPS URL。

不要更改php.ini(维护SSL)

输入下面代码:

$ch = curl_init();
$certificate_location = '/usr/local/openssl-0.9.8/certs/cacert.pem';
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $certificate_location);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, $certificate_location);复制代码

禁用SSL

输入下面代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);复制代码

关闭SSL(个人推荐)

git config --global http.sslVerify false复制代码

前面两种方式来是安全的解决方案,后面两种是通过禁止SSL跳过问题,官方肯定是不推荐的。

但是作为个人开发者来说,直接关闭SSL确实是最方便的解决方案。

个人还是比较推荐 关闭SSL,简单粗暴。

结语

如果这篇文章帮到了你,欢迎点赞????和关注⭐️。

文章如有错误之处,希望在评论区指正????????。


作者:forever_Mamba
链接:https://juejin.cn/post/7018069218784460831


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐