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 serer{ 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