赞
踩
在代码push到gitlab的时候会出现413错误
查看原因有几种可能:
1、缓存不够 (经过实际测试这种方式传输效率比较低不推荐)
git config --global http.postBuffer 524288000
或
git config http.postBuffer 524288000
2、 网络不行 (可以配置git的最低速度和最低速度时间)
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
3、文件过大 (git push时可把代码分批次进行)
四、问题介绍:
客户端发送的实体主体部分比服务器能够或者要处理的数据要大。 一般情况下我们看不到这个状态码, 因为浏览器不会发送太大的数据给网站。
1.整个gitlab结构是通过nginx来进行反向代理的,当我们通过git push的时候,请求时先走到nginx,然后在到达gitlab。所以这种413的问题最先发生在nginx上,然后在gitlab服务上。
2.对于nginx报错原因是nginx不允许上传配置过大的文件,那么件把nginx的上传大小配置调高就好。
3.在生产环境中通常不会默认更改nginx上传配置文件的大小,下面会通过更改默认的传输方式,把gitpush的传输方式更改成ssh
一、更改nginx配置文件的大小
1.综上所述在这里gitpush出现413 Request Entity Too Large的问题是nginx大小指有10M ,限制住了传输的大小解决方法是:
查看并修改nginx.conf中http模块里的配置:client_max_body_size
(开始大小是 10m,现在修改成20m了,nginx默认上传文件的大小是1M)
1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/nginx.conf。
备注:如果更改这个传输大小会比较考验服务器性能 top进程会有一定的升高
3.保存后nginx -t检查配置文件是否有问题,然后nginx -s reload。
如果出现这个问题,是因为你的账户在gitlab中对应项目中没有操作权限,修改一下就行了
git config --global user.name "xxx(名字)"
git config --global user.email "xxxxxx(注册时的邮箱)" --(注册账户时用的邮箱)
本行命令仅针对未生成过ssh秘钥的执行,如已执行过则跳过本步骤
ssh-keygen -t rsa -C "注册时的邮箱"
(主要就是生成对应的密钥,保存并记录好密钥的路径)
输入该指令后(如下图)一直点击回车键,直至出现下图图案为生成成功 ,特别注意密钥生成的路径
根据上图生成ssh的地址路径进入(如下图)可以看见有两个文件,其中
id_rsa:秘钥
id_rsa.pub:公钥
而我们要做的是将ssh公钥添加入GitLab,生出的路径参考对应的密钥的位置将 id_rsa.pub(公钥)用记事本打开,将里面内容复制出来后,打开GitLab
点击 SSH Keys - > Key框粘贴 -> Add Key
点击后显示最终结果为下图则成功:
git config --global user.name "xxx(名字)"
git config --global user.email "xxxxxx(注册时的邮箱)"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。