当前位置: 首页 > article >正文

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

目录

  • 引子:问题的发现
  • 问题分析
  • 解决方案:清除代理配置
  • 总结与思考

引子:问题的发现

近日笔者在 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. 仔细核对配置文件中的相关设置。

参考链接

  • https://git-scm.com/docs/git-config
  • https://stackoverflow.com/questions/22385392/git-ssl-error-unable-to-access

欢迎关注我的博客!
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

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


http://www.kler.cn/a/452698.html

相关文章:

  • cad学习 day7-9
  • Git--tag标签远程管理
  • CSS(四)display和float
  • CH32V307VCT6---工程template创建
  • 追风赶月莫停留,平芜尽处是春山—记一次备考经历(下)
  • stm32基础(keil创建、Proteus仿真、点亮LED灯,7段数码管)
  • 详解Ollama api (Windows环境)
  • 【QT开发自制小工具】PDF/图片转excel---调用百度OCR API接口
  • 【问题实录】服务器ping不通win11笔记本
  • 【每日学点鸿蒙知识】挖空样式、解密库性能问题、按钮下拉列表弹窗、Scroll组件回调事件问题、判断当前时间之后方法
  • wordpress网站用token登入开发过程
  • Idean 处理一个项目引用另外一个项目jar 但jar版本低的问题
  • 3D几何建模引擎Parasolid功能解析
  • dify的ChatFlow自定义上传图片并通过HTTP请求到SpringBoot后端
  • STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)
  • DevOps实战:用Kubernetes和Argo打造自动化CI/CD流程(1)
  • Golang框架实战-KisFlow流式计算框架(9)-Cache/Params 数据缓存与数据参数
  • opencv中的色彩空间
  • 4.2 数据库分组查询
  • 机器学习(二)-简单线性回归
  • DVWA第二关 之命令注入
  • 怎么将PDF压缩大小?PDF文件进行压缩的几个方法推荐
  • css文字折行以及双端对齐实现方式
  • 面试题整理17----K8s中request和limit资源限制是如何实现的
  • 机器学习基础 衡量模型性能指标
  • 如何用PhpStudy搭建网络安全靶场