问题描述
在尝试使用Git进行提交(commit)或克隆(clone)操作时,可能会遇到以下错误信息之一:
1. 连接被重置错误:
fatal: unable to access 'https://github.com/xxx/autowrite.git/':
OpenSSL SSL_read: Connection was reset, errno 10054
2. 连接超时错误:
fatal: unable to access 'https://github.com/xxx/autowrite.git/':
Failed to connect to github.com port 443: Timed out
问题原因
这些错误通常是由以下几种情况造成的:
- Git HTTPS代理设置冲突:Git在拉取或提交项目时,如果设置了HTTP或HTTPS代理,可能会与本地环境已存在的SSL协议发生冲突。
- 代理网速过慢:当前使用的代理速度过慢,导致偶尔请求成功,偶尔请求失败。
解决方案
取消Git代理配置
执行以下命令取消Git的HTTP和HTTPS代理设置,让Git直接使用本机的网络连接,如果本地没有设置代理,Git将使用默认的网络连接设置:
1. 取消HTTP代理:
git config --global --unset http.proxy
2. 取消HTTPS代理:
git config --global --unset https.proxy
禁用SSL验证
如果和笔者一样,以上方法都不能解决问题,作为最后的手段,可以通过禁用Git的SSL证书验证来尝试解决问题,这个可能会降低安全性:
git config --global http.sslVerify "false"
使用VPN
考虑使用VPN服务(魔法)来提高到Github服务器的连接速度,这可以有效解决端口443超时问题。