git push via nginx reverse proxy stopped working (fatal: 远端意外挂断)

git push via nginx reverse proxy stopped working (fatal: The remote end hung up unexpectedly)

我的 git (Bitbucket) 有问题。如果我尝试将大于 8MB 的文件推送到我的 git 远程,我会收到以下错误消息:

fatal: The remote end hung up unexpectedly

fatal: The remote end hung up unexpectedly

Everything up-to-date

git 远程位于 Nginx 反向代理之后,它具有以下配置:

server {
listen 80;
server_name proxy.bitbucket.sample;

location / {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://bitbucket.sample:7990;

    proxy_connect_timeout 1800;
    proxy_send_timeout 1800;
    proxy_read_timeout 1800;
    send_timeout 1800;
    proxy_request_buffering off;
    client_max_body_size 0;

    proxy_http_version 1.1;
    proxy_set_header Connection "";
}

}

nginx的error.log为空,bitbucket的日志有如下信息:

2020-08-20 10:32:50,672 INFO  [http-scmrequest-handler:thread-1007] sven @U5MKSCx632x20155x0 10.79.1.30,10.79.1.54 "POST /scm/bitsystest/testimport2.git/git-receive-pack HTTP/1.1" c.a.s.i.s.g.p.h.GitSmartExitHandler BITSYSTEST/testimport2[360]: Write request from 10.79.1.30 failed due to a socket timeout

此行为是几天前开始的,没有对代理或 bitbucket 进行任何更改。

我在互联网上找到的唯一解决方案是提高 http.postBuffer,但没有用。

我遇到了同样的问题。这是我认为的错误。我通过从最新版本 7.5.3 降级到版本 7.3.1

解决了这个问题

这是一个已知错误 - 请参阅 https://jira.atlassian.com/browse/BSERV-12549

Setting plugin.bitbucket-git.hosting.nio.http=false in bitbucket.properties 有帮助(我想知道这个未记录的选项有什么作用)。