首页 > 其他分享 >聊聊git push到远程服务器出现RPC failed问题

聊聊git push到远程服务器出现RPC failed问题

时间:2024-10-11 09:21:49浏览次数:10  
标签:git http ip 代码 gitlab failed RPC 413

前言

最近小组成员跟我说,他git提交不了代码。我问了下原因,他说他代码一提交就会报

代码语言:txt 复制
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Everything up-to-date

然后他跟我说他百度几种方法,都不管用。下文列下他百度出来的方案

方案一:修改本地git postbuffer大小

代码语言:txt 复制
git config --global http.postbuffer 524288000

方案二:修改项目.git/config文件,添加如下内容

代码语言:txt 复制
[http]  
    postBuffer = 524288000

方案三:用管理账号在gitlab中的Account and limit加大Maximum attachment size (MB)和Maximum push size (MB)

可以参考该链接

https://blog.csdn.net/techfield/article/details/70198077

因为小伙伴不是管理员,后面我尝试了该方案,不管用

问题复盘

1、先看git push抛出来的问题

代码语言:txt 复制
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

对我们有效的信息,估计就是413这个状态码,我们可以先从这个状态码入手

这个状态码的含义是

413 Request Entity Too Large 服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。

注: 查看http状态码信息,可以通过https://www.php.cn/web/web-http.html进行查阅

由状态码的含义,我们可以得出上传的代码可能过大。于是我让小伙伴看下,他上传的代码量有多少,好家伙,一共有4,50M的大小

2、解决方案

方案一:代码进行分批上传,不要一次性上传

小伙伴按这个方案果然解决了问题,但是他说这样好麻烦,总不能以后每次都要分批上传,这样提交代码的效率很低

方案二:增大http方式上传的大小

这个方案就是最开始的设置postbuffer,但问题就是不管用。后面就怀疑说是不是因为配置域名的原因,于是我就采用内网ip的方式直接去push代码,结果竟然可以了。

接着去ping下gitlab的域名,发现那个ip不是gitlab的内网ip,当然ping出来的也可能是外网ip,于是我就把ping出来的ip通过百度一下,显示该ip是本地局域网。

然后很自然的想到项目的gitlab是不是配置了代理,接着就去问搭这个gitlab的前同事。果然他之前搭建这套gitlab采用nginx做了代理,于是衍生出了第三种方案

方案三:修改nginx配置

在http的server节点中添加client_max_body_size,形如下

代码语言:txt 复制
http: {
    server: {
        client_max_body_size: 200m;
    }
}

方案四:用ssh提交代码

配置ssh,可以参考如下链接

https://blog.csdn.net/qq_42832446/article/details/105533733

标签:git,http,ip,代码,gitlab,failed,RPC,413
From: https://www.cnblogs.com/lidabo/p/18457734

相关文章

  • vscode git 提交不进行commit 校验按钮开启
    第一种方式设置里面搜索gitverify,然后打钩然后git提交这里就有不校验的按钮了第二种方式直接setting.json里添加配置"git.allowNoVerifyCommit":true,......
  • git push 提示 401 Unauthorized while accessing https 的原因及解决方法
       问题报错:error:TherequestedURLreturnederror:401Unauthorizedwhileaccessinggit版本:1.7.1解决方法一:指定用户gitclonehttps://github.com/org/project.git换成gitclonehttps://[email protected]/org/project.git或者gitclonehttps://username:passw......
  • 使用Git创建本地仓库(命令行方式&图形化界面方式)
    1.使用命令行创建本地仓库(1)在空文件夹中点gitbashhere(2)输入gitinit即创建目录2.使用图形界面创建本地仓库(1)一个空文件夹repo1(2)右键→GitGUIHere(3)选择createnewrepository......
  • 利用git推送或拉取代码到远程仓库-整理知识点
    1.注:1)使用gitremoteaddorigin+地址来增加远程仓库,链接远程git仓库时,使用HTTPSurl,一般会结合PAT(personnalaccesstoken)进行身份认证,而使用SSH地址,则不用。2)使用gitclone+地址来克隆远程仓库(默认远程服务器origin)到本地并默认初始化本地仓库、建立本地分支main。2.初......
  • 嘟嘟牛在线登陆加密分析-RPC调用
    加密参数JADX反编译后搜索代码user/login基本可以确定就是从这里发起网络请求跟进addRequestMap方法分析这一看逻辑就清晰了先添加一个时间戳,在对sign进行加密后在调用encodeDesMap进行加密最后put到请求中先分析encodeDesMap有KEY和IV,不是AES就是DES加密encryp......
  • git常用的分支命令
    克隆一个远程仓库:gitclone远程地址显示分支:gitbranch可选标志标志-r:显示远程分支-a:显示所有分支(本地和远程)-v:显示最后一次提交分分支创建一个分支:gitbranch分支名字创建分支并且切换该分支:gitcheckout-b分支名字切换分支:gitcheckout分支名字删除分支:gi......
  • Gitlab添加SSH密钥
    1、首先本地需要下载git,确保右键有gitbash选项2、在C盘用户文件夹下,找到.ssh目录(没有新建)3、在此目录下打开gitbash4、生成密钥ssh-keygen-trsa-b4096-C"[email protected]"ssh-keygen:这是生成SSH密钥对的命令。-trsa:这个选项指定了密钥类型。rsa是一种常用的加密......
  • GitLab 中文版如何设置密码长度、复杂度以及过期时间?
    本分分享如何在极狐GitLab通过设置密码策略,让登录注册变得更加安全,策略主要包含三部分:设置密码长度、密码复杂度以及密码过期时间。设置密码长度此功能所有版本都可享有。默认情况下,极狐GitLab的密码长度有长度要求:最小8个字符最大128个字符设置路径:管理中心-->设......
  • 【gRPC】2—gRPC与PB&桩代码生成与扩展
    gRPC与PB&桩代码生成与扩展⭐⭐⭐⭐⭐⭐Github主页......
  • nodeJS构建错误——digital envelope routines::unsupported
    最近正在调研开源工作流项目,从github上克隆的代码,执行npmrundev报错。错误如下:查找原因出现了问题,自然要想办法解决。在网上搜索了一圈,发现该问题早已出现,一般描述的大致原因就是:当 nodejs 升级到17+版本以后,开始支持 OpenSSL3.0,而 OpenSSL3.0 对各种摘要算法做......