关于GITLAB账号报413错误的解决办法

故障现象:

在代码push到gitlab的时候会出现413错误

关于GITLAB账号报413错误的解决办法_第1张图片

、存在几种解决办法:

查看原因有种可能:

       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

  • 下面针对该413报错主要介绍两种解决办法 

一、更改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。

  1. 在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小。

关于GITLAB账号报413错误的解决办法_第2张图片

备注:如果更改这个传输大小会比较考验服务器性能 top进程会有一定的升高

3.保存后nginx -t检查配置文件是否有问题,然后nginx -s reload。

  1. 再次尝试git push。

如果出现这个问题,是因为你的账户在gitlab中对应项目中没有操作权限,修改一下就行了

关于GITLAB账号报413错误的解决办法_第3张图片

二、配置SSH秘钥

1、打开Git Bash,先进行登录操作

git config --global user.name "xxx(名字)"

git config --global user.email "xxxxxx(注册时的邮箱)"  --(注册账户时用的邮箱)

2、生成ssh

本行命令仅针对未生成过ssh秘钥的执行,如已执行过则跳过本步骤 

ssh-keygen -t rsa -C "注册时的邮箱

(主要就是生成对应的密钥,保存并记录好密钥的路径)

输入该指令后(如下图)一直点击回车键,直至出现下图图案为生成成功 ,特别注意密钥生成的路径

关于GITLAB账号报413错误的解决办法_第4张图片

3、将ssh添加入GitLab

根据上图生成ssh的地址路径进入(如下图)可以看见有两个文件,其中

id_rsa:秘钥

id_rsa.pub:公钥

而我们要做的是将ssh公钥添加入GitLab,生出的路径参考对应的密钥的位置将 id_rsa.pub(公钥)用记事本打开,将里面内容复制出来后,打开GitLab 

点击 SSH Keys - > Key框粘贴 -> Add Key

关于GITLAB账号报413错误的解决办法_第5张图片

关于GITLAB账号报413错误的解决办法_第6张图片

 点击后显示最终结果为下图则成功:

关于GITLAB账号报413错误的解决办法_第7张图片

  • 登录
此尝试gitpush同上面生成ssh的登录一致,输入名字与注册时的邮箱

git config --global user.name "xxx(名字)"

git config --global user.email "xxxxxx(注册时的邮箱)"

你可能感兴趣的:(Linux(CentOS,gitlab)