记录Git无法连接Github(443报错)的一种可能——代理问题

参考文章:

Git安装配置与使用(超级详细)_git配置-CSDN博客

github代理报错_valueerror: unable to determine socks version from-CSDN博客   

速通

如果在使用 git 时遇到了这样的报错:

OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

那就证明你网络有问题,问题可以通过设置代理等方式进行解决。如果已经有代理了,请在 Git Bash 中运行如下代码查看自己的配置:

git config --global -l

观察自己的 git 代理设置中使用的是什么协议,如下方情况使用的是 Socks5。

user.name=lotuscl
user.email=16******82@qq.com
credential.https://gitee.com.provider=generic
http.https://github.com.proxy=socks5://127.0.0.1:7890

 可以尝试更换代理协议为 http 协议,运行如下代码:

git config --global http.https://github.com.proxy http://127.0.0.1:7890
git config --global https.https://github.com.proxy https://127.0.0.1:7890

同理,如果本来就是使用 http 协议进行代理的,可以更换 Socks5。 

git config --global http.https://github.com.proxy socks5://127.0.0.1:7890

 

问题分析过程

隔了一段时间,我发现使用 git 克隆全部失败了,不论是通过 ssh 还是 https,报错全部为:

OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

我想了半天,怀疑是之前 github 更新的时候“强制”要求设置两步验证,导致了我无法连接 git,下面给出我当时收到的邮件:

于是我更新了 GitHub 上面的 ssh 公钥,这下 ssh 可以使用了,公钥更新可以参考下面这篇文章:

Git安装配置与使用(超级详细)_git配置-CSDN博客

但是通过 https 进行克隆还是失败,报错还是一样的报错。

我先查看了一下我以前的设置:

git config --global --list

个人当时的配置如下:

user.name=lotuscl
user.email=16******82@qq.com
credential.https://gitee.com.provider=generic
http.https://github.com.proxy=socks5://127.0.0.1:7890

可以看到我之前是设置了对 github 使用 http 协议访问的时候进行代理,并且还是用的 Socks5 协议。我就奇了怪了,之前不是一直都可以吗?怎么这回给我弹报错?

然后我翻了翻其他的文章,看到有人设置代理走的是 HTTP 协议,于是就怀疑到网络代理协议上了。我重新修改了一下规则,使用 HTTP 替换 Socks5,运行了这样的命令,并顺带加上了 https:

git config --global http.https://github.com.proxy http://127.0.0.1:7890
git config --global https.https://github.com.proxy https://127.0.0.1:7890

最终的配置如下:

user.name=lotuscl
user.email=16******82@qq.com
credential.https://gitee.com.provider=generic
http.https://github.com.proxy=http://127.0.0.1:7890
https.https://github.com.proxy=https://127.0.0.1:7890

结果再次使用 https 进行克隆的时候这回就 ok 了,并且修改回原来的 Socks5(不删除 https 代理)确实是无法克隆的。但是为什么呢?我问了一嘴 gpt,它说:

  1. Git 版本支持问题: 有些 Git 版本对 SOCKS5 代理的支持可能不如 HTTP/HTTPS 代理稳定。确保你使用的是最新版本的 Git,因为新版本通常修复了旧版本中的问题。

  2. 网络环境问题: 一些网络环境可能对 SOCKS5 代理有限制,导致无法成功连接。在某些情况下,网络防火墙或代理服务器可能不支持或不允许通过 SOCKS5 进行传输。

  3. 代理服务器配置问题: 确保代理服务器已正确配置为支持 SOCKS5 协议,且端口号和地址是正确的。

Git 版本贼新,我默认它应该是没问题的。然后我怀疑是网络环境问题,是不是哪次更新把我 clash 的 Socks5 给 ban 了,但是查了相关的资料好像又没看出个所以然,这下真暴露我的计网知识的匮乏了(悲)

然后我只能去调查一下是不是代理服务器的问题。这下惨了,春节期间客服没上班问不了,我就改用 v2rayN 使用了另一组代理服务器。v2rayN 的监听端口是 10808,于是运行下面的命令:

git config --global http.https://github.com.proxy socks5://127.0.0.1:10808

嘿您猜怎么着,居然克隆成功了!难不成还真是代理服务器的问题?出问题的范围缩小至 clash 和我使用的代理服务器上了。

还好我之前买过另外一组的服务器(人傻钱  少),我就换了另一组,并且还是使用 clash 进行代理。结果居然还真是代理服务器的问题,更换服务器组后成功克隆。

 

结论:

可恶的无良商家!!!!另外,本人的计网学得挺差的,文章很多用词不规范不准确,理解也可能有问题,欢迎大佬指出错误 orz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/452283.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python Flask 写一个简易的 web 端程序(附demo)

python Flask 写一个简易的 web 端程序 (附demo) 介绍简单介绍装饰器 app.route("/") 进阶增加接口设置端口 静态网页核心代码完整代码 介绍 Flask 是一个用于构建 Web 应用程序的轻量级 Python Web 框架。它设计简单、易于学习和使用&#x…

MySQL学习记录——삼 库的操作

文章目录 1、创建数据库2、字符集和校验集3、基本操作4、备份与恢复5、连接情况 1、创建数据库 开两个窗口,一个用来访问数据目录/var/lib/mysql,一个用来打开mysql:mysql -u root -p。 创建用的命令 create databse d1; d1是名字&#xff…

LeetCode--代码详解 2.两数相加

2.两数相加 题目 难度:中等 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数…

认识Tomcat (一)

认识Tomcat (一) 一、服务器 1.1 服务器简介 ​ 硬件服务器的构成与一般的PC比较相似,但是服务器在稳定性、安全性、性能等方面都要求更高,因为CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。 ​ 软件服务器&…

PAT-Apat甲级题1007(python和c++实现)

PTA | 1007 Maximum Subsequence Sum 1007 Maximum Subsequence Sum 作者 CHEN, Yue 单位 浙江大学 Given a sequence of K integers { N1​, N2​, ..., NK​ }. A continuous subsequence is defined to be { Ni​, Ni1​, ..., Nj​ } where 1≤i≤j≤K. The Maximum Su…

WordPress可以做企业官网吗?如何用wordpress建公司网站?

我们在国内看到很多个人博客网站都是使用WordPress搭建,但是企业官网的相对少一些,那么WordPress可以做企业官网吗?如何用wordpress建公司网站呢?下面boke112百科就跟大家简单说一下。 WordPress是一款免费开源的内容管理系统&am…

算法学习打卡day47|单调栈系列题目

单调栈题目思路 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。时间复杂度为O(n)。单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元…

力扣面试150 只出现一次的数字Ⅱ 哈希 统计数位 DFA有穷自动机

Problem: 137. 只出现一次的数字 II 文章目录 思路💖 哈希💖 位数统计💖 DFA 状态机 思路 👨‍🏫 参考 💖 哈希 ⏰ 时间复杂度: O ( n ) O(n) O(n) 🌎 空间复杂度: O ( n ) O(n) O(n) cl…

5分钟快速掌握 XML (Extensible Markup Language)

背景 在Java开发的过程中,我们经常需要和配置文件打交道,其中接触最多的就是XML。从最初学习 JavaWeb 时在 Tomcat 中配置servlet,到后来接触Spring框架并在XML中编写各种配置,XML一直是不可或缺的一部分。然而,XML的…

Swift 入门之自定义类型的模式匹配(Pattern Matching)

概览 小伙伴们都知道 Swift 是一门简洁、类型安全、极富表现力以及“性感迷人”的编程语言。 和大多数语言一样,在 Swift 中也有一些隐藏着的、不为人知的宝藏特性。利用它们我们可以极大增加撸码的愉悦和成就感。 其中,模式匹配(Pattern …

VmwareWorkstationPro17安装Centos

保存到之前创建的文件夹里,和主机放在一起就好 接下来直接安装就好了

java数组学习

目录 1.数组概念 2.数组的定义 3.数组的静态初始化 4.地址值 5.数组元素访问 6.索引 7.数组的遍历 8.数组的动态初始化 9.数组两种初始化方式的区别 10.数组常见问题 1.数组概念 数组是一种容器,可以同来存储同种数据类型的多个值。但是数组容器在存储数据…