当前位置: > 其它学习 > Git >

【Nginx】gitlab push代码时发生了http 413错误

时间:2019-02-01 15:47来源:未知 作者:IT
错误本身没有错,错在你让他发生了。
 
背景:
 
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large
错误解释:
413 Request Entity Too Large(请求实体太大)
作用:客户端发送的实体主体部分比服务器能够或者希望处理的要大。  一般情况下我们看不到这个状态码。 因为浏览器不会发送太大的数据给网站,但是机器人可能会。
问题分析:
1.整个服务结构是通过nginx来进行反向代理gitlab的服务,当我们通过git push的时候,请求时先走到nginx,然后在到达gitlab。所以这种413的问题最先发生在nginx上,然后在gitlab服务上。
2.对于nginx,报错原因是nginx不允许上传配置过大的文件,那么件把nginx的上传大小配置调高就好。
解决:
如果nginx 出现413 Request Entity Too Large问题的解决方法:
查看并修改nginx.conf中http模块里的配置:client_max_body_size  
 
(开始大小是 10m,现在修改成20m了,nginx默认上传文件的大小是1M)
 
1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/nginx.conf。
2.在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小。
 
3.保存后nginx -t检查配置文件是否有问题,然后nginx -s reload。
4.再次尝试git push。
如果出现这个问题,是因为你的账户在gitlab中对应项目中没有操作权限,修改一下就行了
修改完gitlab中用户对应的操作权限后,继续重试,成功了。
 

(责任编辑:IT)
------分隔线----------------------------