Gitlab push代码报错:RPC failed; curl 56 Recv failure: Connection was reset

最近创建了一个新项目,初始化commit、push整个项目都没有问题。有一天突然间代码无法push到远程分支。困扰许久,查阅资料尝试了很多解决方法,归纳如下:

1.缓存过小引起,配置http.postBuffer

配置方式由两种。

第一种全局git配置,使用命令:

git config --global http.postBuffer 524288000

第二种:项目目录下.git文件夹中找到config配置文件,增加如下配置:

[http]
	postBuffer = 524288000
[https]
	postBuffer = 524288000

(此种情况针对文件较大项目有效,其他情况即使postbuffer值再大,也无用)

2.网络抖动引起

取消相关的网络限制,git做如下配置:

git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

3.nginx代理限制请请求报文大小,修改nginx配置

配置client_max_body_size和client_body_buffer_size

gitlab安装默认会安装nginx做代理服务器,nginx配置文件目录为:/var/opt/gitlab/nginx/conf/gitlab-http.conf.

client_max_body_size:默认 1M,表示 客户端请求服务器最大允许大小,在“Content-Length”请求头中指定.。0 表示不限制大小。

client_body_buffer_size:Nginx分配给请求数据的Buffer大小。

server {
  listen *:9090;


  server_name XXXX;
  server_tokens off; 

  client_body_buffer_size 512k;
  client_max_body_size 0;
  ignore_invalid_headers off;
  proxy_buffer_size 128k;
  proxy_buffers 32 64k;
  proxy_busy_buffers_size 128k;
  proxy_temp_file_write_size 512k;

  ...
}

(此种方法仍然没有解决我的问题)

4.超大文件使用lfs提交

超大文件可采用此种方式提交。但lfs需要慎用,取消lfs很麻烦。当时我认真的检查了我的代码,并不存在大文件或者超大文件,但抱着一试的心态还是使用lfs提交。使用方法如下:

> git lfs install ##安装lfs
> git lfs track "*.osi" ##追踪大文件,示例中以osi未结尾的文件
> git add .gitattributes

设置完成后按照正常方式提交即可。切记如果项目文件不是很大,谨慎使用lfs,可以使用lfs的替代方案。

4.压缩级别和压缩速率引起,修改用户目录下.gitconfig配置文件

core.compression用来设置压缩级别。0表示无压缩,-1为zlib默认压缩值,而1-9是速度大小集中的方案,最慢的是9。

[core]
	compression = 1
[https]
	postBuffer = 524288000

我的配置最初为-1,修改为1后成功push。

注:git配置文件优先级

–global 全局配置文件 ,配置文件位置:~/.gitconfig,优先级中
–system 系统配置文件,配置文件位置:$(prefix)/etc/gitconfig,优先级低
–local 特定配置文件,配置文件位置:$(git项目目录)/.git/config,优先级高

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
error: RPC failed; curl 56 Recv failure: Connection was reset是一种常见的网络连接问题,通常与连接中断或服务器问题有关。这个错误可能出现在不同的情况下,例如使用curl命令进行网络请求、使用git进行代码提交或克隆代码时。 在这种情况下,通常可以尝试以下解决方法: 1. 检查网络连接:确保你的网络连接稳定,并且没有阻止网络访问的防火墙或代理设置。 2. 增加超时时间:如果你使用的是curl进行网络请求,可以尝试增加超时时间,例如使用--connect-timeout 参数设置更长的连接超时时间。 3. 检查服务器状态:如果你遇到此错误时正在与远程服务器进行交互,可以检查服务器的状态,确保服务器正常运行并能够处理你的请求。 4. 检查数据量:如果你在使用git提交或克隆大量数据时遇到此错误,可能是因为网络速度较慢或服务器资源有限。可以尝试减少数据量,或者将数据分成多个较小的提交或克隆操作。 5. 更新工具版本:有时,此错误可能是由于工具版本的问题引起的。确保你正在使用最新版本的curl或git工具,并尝试升级它们以获得更好的兼容性和稳定性。 希望以上方法能够帮助你解决error: RPC failed; curl 56 Recv failure: Connection was reset错误。如果问题仍然存在,请检查相关文档、讨论组或向相应的技术支持寻求帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [curl (56) Recv failure Connection reset by peer](https://blog.csdn.net/m0_54849806/article/details/126789975)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large](https://download.csdn.net/download/weixin_38675797/14045053)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [git拉代码报错error: RPC ... curl 56 Recv failure: Connection reset by peer fatal: The remote end hu](https://blog.csdn.net/qq_31752115/article/details/108118260)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值