# 背景
在創建了一個新項目,
打算將它上傳到自己的git服務器時,
報錯了:
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large
# 查找問題
HTTPS的原因嗎? x
最開始我以為是我的 Gogs 的設置錯了,
因為我原來一直是 http 來進行push的
這次我更新了站點的協議,全部變成了 https
可能是這個,然后我去 Gogs 的配置文件,進行修改
{gogs根目錄}/custom/conf/app.ini
修改了服務請求的網址,然后加上了 https 證書
ROOT_URL = https://****
CERT_FILE = /******/cert.pem
KEY_FILE = /******/key.pem
重啟服務
sudo systemctl restart gogs
然而,還是報錯.
采用 SSH 嘗試推送 O
記起來我以前為了方便都是使用 SSH 進行推送的,
從沒有遇到這個錯誤,
這次使用的協議不一樣,我試試用 SSH ,
刷刷刷...
添加 公鑰
修改git遠程倉庫
推送
....
行雲流水,問題解決,
不對,沒有解決,這是在逃避問題.
也許是代理的問題? O
看到報錯的最后幾個單詞,
請求實體太大了???
這個錯誤有點眼熟,
在很久以前做文件存儲服務時候遇到過,
大文件一直上傳不來,
當時是 Nginx 進行代理的,
一下子記起來了,需要設置一下 Nginx 的配置文件,
這次因為太匆忙沒有設置.
關鍵字應該是:
client_max_body_size 128m;
問題應該解決!!
# 問題原因
因為 Nginx 的 client_max_body_size 默認大小只有 1M
而我要上傳的文件超過了 1M
太大了,結果直接報錯,不干活.
# 問題解決
找到問題就簡單了,
兩步解決:
修改 Nginx 配置文件
把上傳的閾值開大一點
在 server 里面加上這么一句
client_max_body_size 128m;
例如
重啟 Nginx
然后重啟 Nginx 就好了
sudo systemctl restart nginx
PS:
如有錯誤,還請多多指出來~
-- Nick
-- 2019/07/19