Git Push Fails - fatal: The remote end hung up unexpectedly

平台通知:仅限服务器和数据中心 - 本文仅适用于服务器和数据中心平台.

问题

当用户试图运行“GIT推“显示下列错误消息:

$ git push
Counting objects: 2332669, done.
Delta compression using up to 16 threads.
Compressing objects: 100% (360818/360818), done.
error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2332669/2332669), 483.30 MiB | 114.26 MiB/s, done.
Total 2332669 (delta 1949888), reused 2330461 (delta 1949349)
fatal: The remote end hung up unexpectedly

致因

Git中的“智能HTTP”协议在POST请求中使用“传输编码:分组”,当它包含大小大于1MB的打包对象时。

有些代理服务器,如Nginx,默认情况下不支持这种传输编码,请求在到达Bitbucket Server之前将被拒绝。因此,Bitbucket Server日志将不会显示任何额外的信息。

另一个可能的原因是负载平衡器配置错误。

变通

  • 当推送大量数据(大存储库的初始推送,使用非常大的文件进行更改)时,可能需要更高的数据。http.postBuffer设置在你的git上客户(不是服务器)。从…Https://www.kernel.org/pub/software/scm/git/docs/git-config.html

    Http.postBuffer

    向远程系统提交数据时,智能HTTP传输使用的缓冲区的最大大小(以字节为单位)。对于大于此缓冲区大小的请求,HTTP/1.1和传输编码:分块用于避免在本地创建大规模的包文件。缺省值为1 MIB,这足以满足大多数请求。

  • 配置倒转代理。通常将参数命名为client_max_body_size 是个阻滞剂。反向代理也可能有关闭连接的连接超时(例如,TimeOutProxyTimeout在阿帕奇,proxy_read_timeout在ngnix)。尝试绕过代理,直接推送到Bitbucket Server IP:Port。如果这样做有效的话,代理服务器很可能会导致早期断开,需要进行调优。
  • 用户正在使用出站他的机器上的代理导致了这个问题。

分辨力

转载:https://confluence.atlassian.com/bitbucketserverkb/git-push-fails-fatal-the-remote-end-hung-up-unexpectedly-779171796.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值