
Nextcloud、Cloudreve、Alist等網盤使用Cloudflare CDN服務,上傳超過100MB檔案失敗的排錯
前言 懶懶一直是自建網盤的使用者,目前以Cloudreve網盤作為主力使用,而Nextcloud作為備用網盤使用! 但前一陣子想傳輸大檔案(檔案大小超過100MB)時,卻發現兩種網盤(綁定同種域名下)雙雙出現Cloudflare返回502(Bad Gateway)錯誤! 排查分析 (1).懷疑原因:NGINX設定錯誤 因懶懶將Nextcloud架在VPS上頭,且為求使用方便故部屬在公網上,為保護原IP地址所以使用NGINX反代域名使用,而域名通過Cloudflare Proxy,原本單純以為沒設定NGINX設定檔的client_max_body_size而已 1 2 3 4 5 6 7 8 9 server { ......... location / { .... client_max_body_size 10G; .... } ......... } 後來發現完全不對,因為我的Cloudreve網盤也是放在公網,然後使用域名進行訪問,但我Cloudreve網盤是使用Cloudflare Tunnel作內網穿透,壓根沒使用NGINX啊! (2).懷疑原因:CloudFlare 免費版限制 經了解CloudFlare免費版有 upload size (HTTP POST request size) 100MB限制,但經懶懶爬文Cloudreve及Nextcloud皆有支援分片(分塊)上傳(chunked upload)的功能,但經懶懶在上傳途中觀察,每當第一個分片上傳完成就會卡住,無論每個分片大小是50MB或是100MB,問題依舊沒解決。 Cloudflare官方說明文件 Cloudflare Zero Trust - account-limits https://developers.cloudflare.com/cloudflare-one/account-limits/ Cloudflare Cache - Customization options and limitations https://developers.cloudflare.com/cache/about/default-cache-behavior/ Cloudflare Workers - Request limits - (413) Request entity too large ...