git push 报错 Empty reply from server 或 Failed to connect to github.com port 443: Time out

问题出现

记一次和github的斗智斗勇。

报错信息

fatal: unable to access ‘https://github.com/username/resposity.git/’: Failed to connect to github.com port 443: Timed out

fatal: unable to access ‘https://github.com/username/resposity.git/’: Empty reply from server

问题说明

情况一 网站登录情况

登录github网站时好时坏(用代理才可以登录),有时候显示没有响应,但是电脑以外的ipad登录顺利。(后来变成电脑和手机都无法等上,另有解决方法在后面)

情况二 本地使用情况

本地使用 git clone / git push 报前述错误,代理也不行。

情况三 网上解决方法测试

去网上寻求解决方法

三种方法:

  1. 检查是否有代理,若有取消:
    git config --global --unset http.proxy
    具体可见:
    git clone出现 fatal: unable to access 'https://github.com/…'的解决办法(亲测有效)
    知乎:fatal: unable to access;Failed connect to github.com:8087;
  2. 改换ssh登录
  3. 注释掉 hosts下与github.com有关内容
    具体可见:
    解决git push时出现Failed to connect to github.com port 443: Timed out’

方法使用结果:

  1. 方法一:本地没有代理取消代理不起作用
  2. 方法二:比较麻烦没有尝试
  3. 方法三:打开了 C:\Windows\System32\drivers\etc\hosts 文件发现,确实有 github.com 相关内容,注释掉。成功push,但是过了一会儿又报错。
    方法三只成功了一下下,不能判定是否是巧合,但是突然想起来
  1. hosts文件的作用:解析IP地址和主机名
  2. 我为什么会在hosts文件中设置github相关内容:为了解决曾经raw.githubusercontent.com 无法连接,网站上图片显示不出来的问题

于是我灵光一现,进行了如下尝试:

  1. 先去IP地址搜索网站上搜索了github.com最新的IP地址 https://www.ipaddress.com/
  2. 发现此时是
    网站查询结果
    发现和我原来hosts文件中映射的github.com的地址已经不一样了。
  3. 于是,我将新的IP地址填入hosts文件中。
  4. 尝试 git push。
  5. 成功。
    hosts文件的修改
    注意:需要添加读写权限 win10修改host文件的方法

新的问题

好景不长,在上面push成功后,很快我又push失败了。

探索发现

根据之前经验多次尝试后(比如直接用查询到的IP地址登录网站),我发现我登不上去还是github自身的问题。

  1. 当我可以用IP地址直接登录网站时,将IP地址映射添加进hosts文件才是有效的。
  2. 当github可以直接登录不需要映射,将hosts文件中有关内容注释掉才是合适的。
  3. 当上述都登不上时,改hosts无效。

问题解决

重新思考情况,我发现开代理的情况下能登上网页版,但不能使用命令行。
报错:

fatal: unable to access ‘https://github.com/***/***.git/’: Unknown SSL protocol error in connection to github.com:443

询问室友她能否登上,得到开代理可以用的回答,开始寻找怎么在开代理的情况下使用命令行。

终于找到:
GitHub 无法连接问题

即:给 git 命令开代理。
但是输入上述文章中命令后,报错:

PCMV-Detector> git config --global http.proxy http://127.0.0.1:1087
PCMV-Detector> git push
fatal: unable to access ‘https://github.com/***/***.git/’: Failed to connect to 127.0.0.1 port 1087: Connection refused

再次思考,发现端口和我开的代理端口不同,修改命令端口为代理端口1080
顺便记录下可以使用git config --global -e 命令修改文本。

成功。

回答: "Empty reply from server"错误通常是由于服务器没有正确响应请求导致的。根据引用\[2\]中的解释,当使用curl命令提交文件时,它会发送一个Expect: 100-continue的请求,并等待服务器响应HTTP/1.1 100 Continue。然而,如果服务器没有实现这个逻辑,curl最终会收到一个空的响应,从而导致报错"Empty reply from server"。根据引用\[3\]的情况描述,这个错误可能与在K8s上部署的应用中使用curl命令上传文件有关。解决这个问题的方法可能是检查服务器端的配置,确保正确响应Expect: 100-continue请求,或者尝试使用其他方法来上传文件。 #### 引用[.reference_title] - *1* [git push 报错 Empty reply from serverFailed to connect to github.com port 443: Time out](https://blog.csdn.net/m0_54352040/article/details/115755237)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [关于 curl: (52) Empty reply from server 问题的一种解决方案](https://blog.csdn.net/qq_40697071/article/details/114123130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值