使用Nginx反代理访问Git解决413问题

前言:记得在学期初的时候使用git就遇到了413,那时的git平台是我大哥搭建的,push比较大的文件的时候就会出现http回应413代码,但是直接使用Gogs服务器取代nginx服务器域名可以暂时解决该问题,于是乎我就理了,然而今天我又遇到了此问题,强迫症+不甘心=需要详谈。


环境:Gogs+Nginx+Git


413的问题简况

git push origin master  #执行提交

push提交的结果如下图


Paste_Image.png

413简况分析
当通过Gogs自带的服务器使用git的话,是不会出现该问题的,因此只有只有域名才并且push大文件才会出现413,我是利用Nginx绑定域名反代理到学校服务器内网的PC主机的,那就是说:既然Gogs没有问题的话,那就是Nginx服务器的问题。由于我一直使用的是apache搭建服务器,对Nginx的环境不是那么熟悉,最近使用Nginx的目的就是因为它有反代理的功能。
简单的来说,使用git来访问nginx反代理到内网的服务器,上传大文件会返回413错误代码,因此可以理论上判断:nginx限制了对文件上传的大小。


解决Git 413方法
解决方法很简单,那就是修改nginx服务器的配置

sudo cp /etc/nginx/nginx.conf  /etc/nginx/nginx.conf.bak #备份文件
sudo nano /etc/nginx/nginx.conf    #修改nginx服务器的配置

添加一下一个配置信息

 client_max_body_size 50m;#客户端上传文件最大限制,默认是1m

然后重启nginx即可!

sudo service nginx reload

git 413错误引导
我查看了网络挺多的资料,很多人都回答是git配置的问题
比如http.postBuffer配置的问题

git config --global http.postBuffer 524288000  #git使用http协议提交的文件限制大小

其实这并非413错误代码,而是411的错误代码所需的配置。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,642评论 19 139
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,465评论 21 356
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,738评论 25 709
  • 雨 我们曾经一度认为自己很强大,可以强大的不去顾及很多人和很多事情,可是当事情一再发生的时候,我们人类却束手无策,...
    安白冷阅读 1,560评论 0 0
  • 又是一个阳光泛滥的春天,天蓝得罪过,风也暖洋洋的,该死的寒假结束,终于这就开学了。 要不是成绩单就真真实实地放在我...
    宁我阅读 2,256评论 0 1