起因#
今天想用部署在伺服器上的 Alist 備份實驗結果,但是在上傳完畢後 alist 報了 413 錯誤。 413 Content Too Large 表示請求主體的大小超過了伺服器願意或有能力處理的限度。這讓我感到很奇怪,因為在我的印象中我並沒有做過對上傳進行限制的設置。在網上搜索了下 413 的解決方案,發現大多數情況是 nginx 的設置所導致的,但是我仔細檢查了相關設置,我並沒有在 nginx 中配置相關的內容。於是我又去 Alist 的社區去尋找相關內容,也確實找到了一些解決方案,然而那些方法對我都沒用。
不過也不是完全沒有收穫,有個老哥提到說只有上傳 100MB 以上的檔案會觸發 413,其餘情況不會,我自己也測試了下,確實如此,於是拼命在各種設置中找可能出現 100 的地方,不過依然一無所獲。這時我突然想到一件事,我其實每天都在用 Alist 自動備份網站的資料,而網站的資料是超過 100MB 的,既然網站的資料可以上傳,沒道理我自己的檔案不能上傳啊?於是我對比了備份網站時的情況和自己上傳檔案的情況,發現二者之間最大的不同是網站備份我使用的是 ip + 端口號訪問 Alist,而我自己上傳檔案時則是用了一個二級域名,難道問題出在這?於是我火速打開 cf 的控制面板,果然在網路選項中找到了這麼一個設置
這下總算是找到 100MB 的出處了
解決辦法#
知道了是 cf 在作怪,那麼只要繞過 cf 就行了,直接使用 ip 和端口號訪問 Alist 即可