Git 代理配置——克隆仓库时遇到 OpenSSL SSL_ERROR_SYSCALL 的解决方案

Git克隆遇SSL错误:代理配置解决方案

引子:问题的发现

近日笔者在 Windows 系统中克隆一个 GitHub 项目时,遭遇了一个十分恼人的问题。当我尝试使用以下命令克隆仓库时:

git clone https://github.com/subframe7536/maple-font.git

终端却报出如下错误:

fatal: unable to access 'https://github.com/subframe7536/maple-font.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0

这一问题困扰了我许久,尤其是由于国内网络环境复杂,类似的问题层出不穷。经过多番搜索和测试,最终发现问题的根源以及解决方案,这篇文章将为大家详细介绍这一过程,希望对遇到类似问题的读者有所帮助。

问题分析

根据错误信息:

  • SSL_ERROR_SYSCALL 表明在使用 OpenSSL 的过程中,系统调用遇到了问题。
  • errno 0 暗示错误的原因不明确,可能是网络环境异常或代理配置不当导致。

在检查了以下几点后,我逐步缩小了问题的范围:

  1. 网络连接:确保能够正常(或在代理开启情况下)访问 https://github.com
  2. Git 版本:确保 Git 已更新到最新版本。
  3. 代理配置:怀疑问题与 Git 的代理设置有关。

经过排查,我发现问题确实出在 Git 的代理配置上。

解决方案:清除代理配置

Git 允许为远程仓库配置代理,但如果配置不当或环境中没有可用的代理,就可能引发类似错误。通过以下命令可以清除与当前仓库相关的代理设置:

git config --global --unset-all remote.origin.proxy

而假如是(例如国内的)直连不通有代理的情况,可以通过

git config --global --add remote.origin.proxy "xxx"

命令添加代理。(其中 xxx 是代理的地址 / 端口)那假如忘记端口了呢?可以从软件中查询,而一个通用的“笨”办法是在 Chrome 浏览器中输入 chrome://net-export/ 开启导出模式,随后开启代理随便访问一个网站(例如 Google)后关闭导出。打开自动保存的 chrome-net-export-log.json 文件,搜索 proxy 字段,后面跟着的地址就是你的代理地址。

总结与思考

根本原因:代理配置错误或不适用。

解决思路:通过清除错误的代理配置 / 添加代理配置让 Git 直接连接目标仓库。

这一案例再次提醒我们,在使用 Git 或其他工具时,如果遇到类似问题,务必要从以下几个方面入手:

  1. 检查网络环境是否正常。
  2. 确保工具版本更新。
  3. 仔细核对配置文件中的相关设置。

参考链接


欢迎关注我的博客!
Find me on GitHub: GitHub profile page
Gitee account (under construction): Gitee site
GitLab account (under construction): GitLab site
Also find me on Luogu:Luogu profile

欢迎大家关注我,在项目上与我协作哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值