git base 下载$ git clone 失败解决方法
$ git clone https://github.com/hjsdjko/hangkongdingpiao.git Cloning into 'hangkongdingpiao'... fatal: unable to access 'https://github.com/hjsdjko/hangkongdingpiao.git/': SSL certificate problem: unable to get local issuer certificate
使用git config --global http.sslbackend schannel解决。
无法使用git在Windows上使用自签名证书解决“无法获得本地颁发者证书”-堆栈溢出 --- Unable to resolve "unable to get local issuer certificate" using git on Windows with self-signed certificate - Stack Overflow
执行命令的时候,出现“SSL certificate problem:* * * ”报错,一般在执行“git push”(推送分支)或者“git clone”(克隆仓库)时出现。原因是因为SSL安全验证问题,不能获取到本地的证书。这里咱们通过不验证SSL证书方式解决。
在windows系统下推荐用git config --global http.sslbackend schannel来解决这个问题
两条 git config 命令用于配置 Git 的全局设置,具体来说是关于 HTTPS 通信的配置。下面是对每个命令的具体解释:
1. git config --global http.sslBackend schannel
作用:这条命令设置了 Git 在进行 HTTPS 请求时使用的 SSL 后端为 schannel。
schannel:这是 Windows 操作系统内置的安全支持提供者(Security Support Provider, SSP)。当 Git 需要进行安全的 HTTPS 通信时,它将使用 Windows 的 schannel 而不是 OpenSSL。这在某些情况下可能有助于提高性能或解决与 OpenSSL 相关的问题。
适用场景:主要适用于 Windows 用户,尤其是在遇到与 OpenSSL 相关的问题时,切换到 schannel 可能会解决问题。
2. git config --global http.sslVerify false
作用:这条命令关闭了 Git 在进行 HTTPS 请求时的 SSL 证书验证。
false:设置为 false 表示 Git 不会检查服务器提供的 SSL 证书的有效性。这意味着即使服务器的证书无效或自签名,Git 也会接受该连接。
适用场景:通常用于开发环境或测试环境中,当服务器使用自签名证书时,可以避免每次请求时出现证书验证失败的错误。但是,在生产环境中强烈建议保持 SSL 证书验证开启,因为关闭验证会使你容易受到中间人攻击等安全威胁。
注意事项
安全性:关闭 SSL 证书验证 (http.sslVerify false) 会降低安全性,因为它允许 Git 接受任何 SSL 证书,包括那些可能是恶意的证书。因此,除非你完全信任目标服务器,否则不建议在生产环境中使用此设置。
兼容性:schannel 仅在 Windows 上可用。如果你在其他操作系统(如 Linux 或 macOS)上使用 Git,这条命令将不起作用。