记录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.mzph.cn/news/666855.shtml

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

相关文章

机器学习周报第二十八周 PINNs2

文章目录 week28 PINNs2摘要Abstract一、Lipschitz条件二、文献阅读1. 题目数据驱动的偏微分方程2. 连续时间模型3. 离散时间模型4.结论 三、CLSTM1. 任务要求2. 实验结果3. 实验代码3.1模型构建3.2训练过程代码 小结参考文献 week28 PINNs2 摘要 本文主要讨论PINN。本文简要…

机器学习 | 解析聚类算法在数据检测中的应用

目录 初识聚类算法 聚类算法实现流程 模型评估 算法优化 特征降维 探究用户对物品类别的喜好细分(实操) 初识聚类算法 聚类算法是一种无监督学习方法,用于将数据集中的对象按照相似性分组。它旨在发现数据中的内在结构和模式,将具有相似特征的数据…

MySQL进阶之锁(行锁,间隙锁,临键锁)

行级锁 介绍 行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在 InnoDB存储引擎中。 InnoDB的数据是基于索引组织的,行锁是通过对索引上的索引项加锁来实现的,而不是对记录加…

Linux——权限管理

1、ACL权限 在普通权限中,用户对文件只有三种身份,就是属主、属组和其他人;每种用户身份拥有读(read)、写(write)和执行(execute)三种权限。但是在实际工作中&#xff0…

uniapp使用u-popup组件弹窗出现页面还可滑动

*1、问题所在: 弹窗遮罩层出现了页面依旧可以上下滑动 2、要求: 为了用户更好交互体验,弹窗出现后应禁止页面往下滑动 3、实现思路: 在弹窗盒子外层添加个阻止触摸冒泡事件,使用touchmove.stop.prevent 4、代码如下&#xff…

Django学习记录01

1.项目结构 djangoProject02 ├── manage.py 【项目的管理,启动项目、创建app、数据管理】【不要动】【常常用】 └── jangoProject02 ├── __init__.py ├── settings.py 【项目配置】 【常常修改】 ├── urls.py …

软件IIC读取MPU6050

软件IIC读取MPU6050 最终现象一、GY-521 MPU6050三维角度传感器简介二、程序分析1、mpu6050.c2、MPU6050_reg.h 最终现象 一、GY-521 MPU6050三维角度传感器简介 一共八个引脚,一般只用到四个,其余的我也没有试过。 VCC、GND分别接5V电源和地&#xff1b…

如何用ETL工具实现API调用

一、API调用的好处 API调用有很多好处,下面列举了几个主要的优势: 模块化和可重用性:API调用使得软件开发过程更加模块化和可用。通过将功能封装在API中,可以将其用作独立的模块,并在不同的应用程序或系统中进行重复使…

父类之王“Object”类和内部类

👨‍💻作者简介:👨🏻‍🎓告别,今天 📔高质量专栏 :☕java趣味之旅 欢迎🙏点赞🗣️评论📥收藏💓关注 💖衷心的希…

NLP深入学习:《A Survey of Large Language Models》详细学习(一)

文章目录 1. 前言2. 摘要部分3. 引言部分4. Overview 部分4.1 LLMs 背景4.2 GPT 系列模型的技术演变 5. 参考 1. 前言 最近正在读这边 LLM 论文的综述,鉴于读得费劲,如果将整个论文读完再来写会比较费劲。当前采取的策略是部分内容走读记录,…

3 编辑器(Vim)

1.完成 vimtutor。备注:它在一个 80x24(80 列,24 行) 终端窗口看起来效果最好。 2.下载我们提供的 vimrc,然后把它保存到 ~/.vimrc。 通读这个注释详细的文件 (用 Vim!), 然后观察 …

ref和reactive, toRefs的使用

看尤雨溪说:为什么Vue3 中应该使用 Ref 而不是 Reactive? toRefs import { ref, toRefs } from vue;// 定义一个响应式对象 const state ref({count: 0,name: Vue });// 使用toRefs转换为响应式引用对象 const reactiveState toRefs(state);// 现在你…

深入理解TCP网络协议(3)

目录 1.前言 2.流量控制 2.阻塞控制 3.延时应答 4.捎带应答 5.面向字节流 6.缓冲区 7.粘包问题 8.TCP异常情况 9.小结 1.前言 在前面的博客中,我们重点介绍了TCP协议的一些属性,有连接属性的三次握手和四次挥手,还有保证数据安全的重传机制和确认应答,还有为了提高效率…

vue3 之 组合式API—watch函数

watch函数 作用:侦听一个或者多个数据的变化,数据变化时执行回调函数 两个额外参数: 1.immediate(立即执行)2.deep(深度侦听) 场景:比如选择不同的内容请求后端不同数据时 如下图 …

重写Sylar基于协程的服务器(4、协程调度模块的设计)

重写Sylar基于协程的服务器(4、协程调度模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、日…

华为机考入门python3--(8)牛客8-合并表记录

分类:字典排序 知识点: 将输入转成int的列表 my_list list(map(int, input().strip().split( ))) 将列表转为元组 tuple(my_list) 访问元素为元组的列表 for first, second, third in my_list: 对字典进行排序 sorted(my_dict.items())…

负载均衡下的webshell上传+nginx解析漏洞

负载均衡下的webshell上传 一,负载均衡下webshell上传的四大难点 难点一:需要在每一台节点的相同位置上传相同内容的webshell 我们需要在每一台节点的相同位置都上传相同内容的 WebShell一旦有一台机器上没有,那么在请求轮到这台机器上的时…

处理SERVLET中的错误

处理SERVLET中的错误 问题陈述 一位用户在使用在线计算机应用程序时输入一个非数字字符做数字加法。servlet试图将用户输入的值转换成整数型时,引发了NumberFormException类型的异常。要创建一个Web应用程序来使用自定义错误页面处理该异常。该自定义错误页面需要向用户提供关…

【Linux】Ext2 文件系统

文件系统 前言一、磁盘硬件1. 磁盘的物理存储结构2. 磁盘存储的逻辑抽象结构 二、理解 Ext2 文件系统1. 初步理解文件系统2. 深入理解文件系统(1)inode Table(2)Data blocks(3)inode Bitmap(4&a…

【Vue】2-9、Vue-CLI 脚手架

一、单页面程序 什么是单页面程序? 单页面程序(Single Page Application)简称 SPA,顾名思义,指的是一个 Web 网站中只有唯一一个 HTML 页面,所有的功能与交互都在这唯一的一个页面内完成。 二、Vue-CLI …