Cloudflare_CDN

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而已 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 https://developers.cloudflare.com/workers/platform/limits/ (3).懷疑原因:CloudFlare 緩存問題 經爬文後發現有網友說只要域名不經過Cloudflare Proxy(即DNS only),直接直連就能解決問題,但這樣就享受不到Cloudflare提供的防護了!(翻桌 Cloudflare Proxy狀態 後來懶懶想到之前有設定Page Rules讓Cloudreve Bypass掉緩存(因為使用CDN有BUG,會讓手機端登入頁面不斷刷新),那時上傳功能一切正常,但礙於免費版的Page Rules只能設定3個,所以不久後即將該設定移除,然後在移除後就發生上傳大檔案失敗的問題。...

2022年12月28日 · 1 分鐘 · 107 字 · 懶懶
Nextcloud

Nextcloud 在資料表 “oc_mounts” 中,找不到索引值 “mounts_class_index”

問題 更新到Nextcloud 24.0.7發現的問題 資料庫缺少了某些索引值。由於在一個龐大的表中新增索引需要一些時間,因此它們並不會被自動新增。您可執行 “occ db:add-missing-indices” 來手動新增那些缺少的索引值。當索引值新增完成後,查詢的速度通常會變得快許多 在資料表 “oc_mounts” 中,找不到索引值 “mounts_class_index” 。 檢查您 Nextcloud 的安全性。 解決方式 於終端機執行下列命令 sudo -u www-data php7.4 /var/www/nextcloud/occ db:add-missing-indices 注意事項 www-data 部分為使用者名稱 php7.4 部分視你的php版本名稱而定 e.g. php php7.4 /var/www/nextcloud/occ 部分為nextcloud資料夾路徑 執行結果 user@myvps:~$ sudo -u www-data php7.4 /var/www/nextcloud/occ db:add-missing-indices Check indices of the share table. Check indices of the filecache table. Check indices of the twofactor_providers table. Check indices of the login_flow_v2 table. Check indices of the whats_new table....

2022年11月11日 · 1 分鐘 · 141 字 · 懶懶
Rclone

Nextcloud使用Rclone掛載OneDrive E5雲端硬碟(未自動更新/刷新文件清單)

問題 自從使用Nextcloud以來,一直沒有遇到太大的問題,但由於我租用的 VPS 只有區區 60GB 的 SSD 容量(用 SSD 當儲存碟有點奢侈 XD),為了擁有更大的儲存空間,懶懶就將壞腦筋動到雲端硬碟上。 然而,當我使用 Rclone 掛載 OneDrive E5 雲端硬碟後,卻發現若在主機端直接上傳檔案,Nextcloud 這端卻無法同步顯示上傳的檔案。以下是我處理的步驟: 教學 可以先以下列指令,試著刷新檔案清單 sudo -u www-data php7.4 /var/www/nextcloud/occ files:scan --all 注意事項 www-data 部分為使用者名稱 php7.4 部分視你的php版本名稱而定 e.g. php php7.4 /var/www/nextcloud/occ 部分為nextcloud資料夾路徑 加入crontab工作 確認上述步驟成功後,使用crontab工作排程實現自動刷新 sudo -i #切換到root crontab -u www-data -e #編輯crontab工作排程(www-data為使用者名稱) 最下方新增標註部分,其中”/10“為10分鐘刷新一次,可自由選擇刷新時間 # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any')....

2022年11月11日 · 2 分鐘 · 232 字 · 懶懶