前言:記得在學(xué)期初的時(shí)候使用git就遇到了413,那時(shí)的git平臺(tái)是我大哥搭建的,push比較大的文件的時(shí)候就會(huì)出現(xiàn)http回應(yīng)413代碼,但是直接使用Gogs服務(wù)器取代nginx服務(wù)器域名可以暫時(shí)解決該問(wèn)題,于是乎我就理了,然而今天我又遇到了此問(wèn)題,強(qiáng)迫癥+不甘心=需要詳談。
環(huán)境:Gogs+Nginx+Git
413的問(wèn)題簡(jiǎn)況
git push origin master #執(zhí)行提交
push提交的結(jié)果如下圖

413簡(jiǎn)況分析
當(dāng)通過(guò)Gogs自帶的服務(wù)器使用git的話,是不會(huì)出現(xiàn)該問(wèn)題的,因此只有只有域名才并且push大文件才會(huì)出現(xiàn)413,我是利用Nginx綁定域名反代理到學(xué)校服務(wù)器內(nèi)網(wǎng)的PC主機(jī)的,那就是說(shuō):既然Gogs沒(méi)有問(wèn)題的話,那就是Nginx服務(wù)器的問(wèn)題。由于我一直使用的是apache搭建服務(wù)器,對(duì)Nginx的環(huán)境不是那么熟悉,最近使用Nginx的目的就是因?yàn)樗蟹创淼墓δ堋?br>
簡(jiǎn)單的來(lái)說(shuō),使用git來(lái)訪問(wèn)nginx反代理到內(nèi)網(wǎng)的服務(wù)器,上傳大文件會(huì)返回413錯(cuò)誤代碼,因此可以理論上判斷:nginx限制了對(duì)文件上傳的大小。
解決Git 413方法
解決方法很簡(jiǎn)單,那就是修改nginx服務(wù)器的配置
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak #備份文件
sudo nano /etc/nginx/nginx.conf #修改nginx服務(wù)器的配置
添加一下一個(gè)配置信息
client_max_body_size 50m;#客戶(hù)端上傳文件最大限制,默認(rèn)是1m
然后重啟nginx即可!
sudo service nginx reload
git 413錯(cuò)誤引導(dǎo)
我查看了網(wǎng)絡(luò)挺多的資料,很多人都回答是git配置的問(wèn)題
比如http.postBuffer配置的問(wèn)題
git config --global http.postBuffer 524288000 #git使用http協(xié)議提交的文件限制大小
其實(shí)這并非413錯(cuò)誤代碼,而是411的錯(cuò)誤代碼所需的配置。