git push报error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

这个错误表示远程过程调用(RPC)失败了,因为HTTP请求返回了一个413 Request Entity Too Large的错误。HTTP 413错误表明客户端尝试发送的请求体的大小超过了服务器愿意或能够处理的限制。

我这边是用http上传的,可以改为用ssh上传解决这个问题。

需要先生成ssh密钥对并配置到git上,这步我以前配置过,此处省略。

执行

git push ssh://git@xxxxx:0000/xxx/xxx.git -all

push后是自己的仓库ssh地址。

结果无法提交成功,报Unable to negotiate with ***** port **:no matching host key type found...。密钥没匹配到,提示没有权限提交

解决办法:

新的ssh客户端不支持ssh-rsa算法,要修改本地配置重新使用ssh-rsa算法。
在.ssh文件目录下创建config文件(config没有后缀名),使用记事本打开添加以下内容并保存:

Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa


重新执行push命令,推送远程仓库成功

这个错误信息通常出现在使用Git进行操作时,特别是当你尝试通过HTTP/HTTPS协议推送(push)或拉取(pull)代码时。错误信息“RPC failed; HTTP 413 curl 22 The requested URL returned error:”的具体含义如下: 1. **RPC failed**: 远程过程调用失败。这通常意味着Git在尝试与远程仓库进行通信时遇到了问题。 2. **HTTP 413**: HTTP状态码413表示请求实体过大(Request Entity Too Large)。这意味着服务器拒绝处理你的请求,因为请求的数据量超过了服务器的配置限制。 3. **curl 22**: curl错误代码22表示“HTTP返回码不是2xx”。这进一步确认了服务器返回了一个错误状态码。 ### 可能的原因 1. **推送的数据量过大**: 你尝试推送的提交(commit)数据量超过了服务器的配置限制。 2. **服务器配置问题**: 服务器配置限制了请求的大小,导致请求被拒绝。 ### 解决方法 1. **增加GitHTTP缓冲大小**: 你可以尝试增加GitHTTP缓冲大小,以允许更大的请求。使用以下命令: ```bash git config --global http.postBuffer 524288000 ``` 这将把缓冲大小设置为500MB。 2. **使用SSH而不是HTTP/HTTPS**: 如果可能,使用SSH协议进行Git操作,因为SSH通常没有数据大小的限制。使用以下命令将远程仓库URL更改为SSH格式: ```bash git remote set-url origin git@github.com:username/repository.git ``` 3. **检查服务器配置**: 如果你是服务器管理员,检查服务器配置,确保允许较大的HTTP请求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值