git 通过nginx 无法clone

  git服务器架设在内网,通过nginx做反向代理后如果公网质量差的话部分项目无法clone,报错:

error: RPC failed; result=18, HTTP code = 200B | 35.00 KiB/s   
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

   网上的办法很多,没有见效的,猜测是大文件超时了,经过摸索,通过修改服务器(nginx)配置,以及客户端配置达到目标(也许还有其他方法)

nginx配置(/etc/nginx/conf.d/default.conf):

upstream server{
    keepalive 1;
    server ip:port weight=1;
}

客户端配置(~/.gitconfig):

[user]
        name =
        email =
[push]
        default = simple
[core]
        autocrlf = input
        compression = -1
[http]
        postBuffer = 24288000

另外,客户端需要执行以下命令(compression参数会覆盖配置文件中的-1):

git config --global pack.packSizeLimit 50m
git config --global pack.windowMemory 50m
git config --global core.compression 9

 

posted @ 2017-07-13 10:55  badwood  阅读(295)  评论(0编辑  收藏  举报
Badwood's Blog