將 S3 相容存儲桶連接到 Nextcloud 外部存儲

若要在 Nextcloud 中顯示與 S3 相容的儲存桶,請啟用捆綁的外部儲存支援應用,在管理設定中新增Amazon S3掛載點,並輸入提供者的儲存桶、存取金鑰、私鑰和終端節點詳細資料。對於非 Amazon 供應商,主機名稱和路徑樣式設定通常是最需要注意的欄位。確認掛載點顯示為綠色後,使用一次性檔案進行測試,然後再授予更廣泛的存取權限。

需要準備什麼

此程序會建立外部掛載點:Nextcloud 連接到現有儲存桶,並將其顯示為「檔案」資料夾中的資料夾。它不會將檔案遷移到儲存桶中,也不會將該儲存桶設定為 Nextcloud 的主存儲,更不會取代 Nextcloud 的資料目錄。

  • 管理員存取權限:系統級掛載在 Nextcloud 的管理設定中配置。
  • 儲存桶名稱和憑證:從儲存提供者取得 S3 存取金鑰 ID 和秘密存取金鑰。建議使用僅包含此儲存桶及其預期操作所需權限的專用金鑰。
  • 連線詳情:取得通用的 S3 端點主機名,如果提供者要求,還需取得區域和路徑樣式要求。請勿在請求主機名稱的地方貼上特定於儲存桶的 URL。
  • 網路和 TLS: Nextcloud 伺服器必須能夠存取目標端點。除非服務提供者有明確的、有文件記錄的理由要求使用其他配置,否則請使用 HTTPS。

Nextcloud 35 的管理手冊詳細介紹了 Amazon S3 及其相容服務的後端設定。由於不同服務提供者的 S3 API 行為、端點格式、簽章區域和所需權限各不相同,因此請查閱對應服務提供者的設定頁面以取得相關資訊。如果您不確定現有物件將如何顯示,請先建立新的或空的儲存桶,或建立完全隔離的測試前綴。

啟用外部儲存支援

  1. 以 Nextcloud 管理員身分登入並開啟應用程式。
  2. 找到捆綁的外部儲存支援應用,如果該應用程式已停用,請啟用它。該應用程式包含在 Nextcloud 中,但預設為停用。
  3. 開啟您的個人資料選單,選擇「設定」,然後在「管理」下選擇「外部儲存」。

如果後端未出現在儲存下拉選單中,請檢查該應用程式是否已啟用以及您的帳戶是否具有管理員權限。選單標籤在不同版本之間可能略有不同;如果您的安裝版本不是 35,請使用對應版本的 Nextcloud 管理手冊。

新增並配置 S3 掛載點

  1. 在新儲存行中,為掛載點指定一個簡單的資料夾名稱,例如 ` Archive<folder_name>`。這是使用者在 Nextcloud 中看到的名稱;它不是儲存桶名稱或路徑。請勿包含斜槓。
  2. 在儲存後端下拉選單中選擇Amazon S3 ,並選擇存取金鑰作為驗證方法。
  3. 請準確輸入儲存桶名稱、存取金鑰 ID 和秘密存取金鑰,切勿在複製貼上過程中新增空格。請將秘密存取金鑰視為密碼,切勿將其發佈在公開工單、shell 歷史記錄或文章截圖中。
  4. 對於 Amazon 託管的存儲,請輸入存儲桶所在的區域。對於非 Amazon 服務,請輸入其通用的 S3主機名稱(端點主機,不包含儲存桶前綴)。如果提供者明確要求簽署區域,請填寫該區域;如果提供者使用類似 `<signature_region>` 的值,請遵循其文件auto。
  5. 啟用 HTTPS 的 SSL加密。除非服務提供者指定了其他端口,否則端口號保持預設設定。
  6. 首先嘗試預設的虛擬主機請求樣式。如果服務提供者要求請求格式為 `<path>`而不是 `<path>`,則啟用路徑樣式。有關此設定的詳細信息,請參閱服務提供者的 S3 指南。https://endpoint.example/buckethttps://bucket.endpoint.example
  7. 除非服務提供者明確要求,否則請關閉舊版 (v2) 驗證。 Nextcloud 文件中指出,預設使用 v4 身份驗證,且 v2 很少需要。
  8. 在「可用物件」中,僅選擇應該看到此掛載點的使用者或群組。預設情況下,在管理員設定中建立的掛載點是公開可見的,因此在公開私有或共用資料之前,請先限制其存取權限。

必填欄位填寫完畢後會自動儲存。綠色狀態指示燈表示 Nextcloud 可以連線;黃色或紅色指示燈表示掛載驗證失敗。如果錯誤狀態仍然存在,請點選狀態圖示或重新整理管理頁面重新檢查。 Nextcloud 指出,掛載失敗的掛載可能會被標記為不可用十分鐘。

刻意選擇騎乘行為

打開該行的選項選單以查看掛載等級的設定。預設情況下,共享功能處於停用狀態;僅當使用者需要共享此掛載點中的檔案時才啟用共享。您也可以將掛載點設定為唯讀(僅用於參考資料)、在需要時啟用預覽,以及選擇 Nextcloud 檢查外部變更的頻率。這些選項會影響掛載點在 Nextcloud 中的行為;它們不會更改儲存空間提供者的儲存桶策略。

不要以為新增掛載點後,服務提供者控制台中的直接變更會立即反映在 Nextcloud 中。 Nextcloud 會維護一個檔案快取。當檔案在 Nextcloud 外部建立、變更或刪除時,快取清單可能會保持過期狀態,直到掃描更新為止。對於 S3 和其他沒有服務提供者推播通知的後端,Nextcloud 文件中提供了定期掃描的說明occ files_external:scan <mount_id>。使用 `npm run dev` 指令尋找掃描 ID occ files_external:list;以 Web 伺服器使用者身分從 Nextcloud 安裝目錄執行 OCC 指令,並依照您的實際安裝情況調整使用者和指令包裝器。

排查連線故障

  • 紅色或黃色狀態:請重新檢查儲存桶名稱拼字、金鑰對、端點主機名稱、區域/簽署區域以及伺服器端網路存取權限。確認 Nextcloud 主機的 DNS 和出站 HTTPS 存取權限。
  • 簽署或授權錯誤:請確保金鑰已啟動並被授權列出儲存桶以及執行使用者所需的操作。檢查區域是否與提供者的簽名說明相符。即使憑證可以上傳但無法列出或檢查儲存桶,也可能無法通過 Nextcloud 的連線測試。
  • 未找到端點或儲存桶:請確認主機名稱包含的是通用端點,而非已包含儲存桶名稱的 URL。詢問服務提供者是否需要路徑式請求,然後啟用該選項並重新檢查。
  • 連接正常,但現有物件缺失:請檢查密鑰是否可以列出儲存桶,以及物件名稱是否使用支援的路徑。 Nextcloud 警告:包含重複分隔符號(例如Photos//cat.png`,`)的 S3 金鑰及其內容將被忽略。
  • 直接在提供者處變更的檔案遺失:觸發對掛載點的外部儲存掃描。盡可能在 Nextcloud 內部進行常規的重命名和移動操作;重新掃描可能會將遠端重命名解釋為刪除並創建一個新文件,這可能會導致 Nextcloud 端與舊條目關聯的共享、標籤、評論或活動歷史記錄遺失。

請確認安裝牢固。

等待掛載點狀態變為綠色。以允許範圍內的使用者身分開啟「文件」應用,打開掛載點資料夾,上傳一個名稱唯一的小型測試文件,下載該文件,然後透過 Nextcloud 將其刪除。如果條件允許,請驗證預期物件是否出現在提供者的儲存桶視圖中。然後,僅當套餐包含群組存取權限時,才使用第二個使用者進行測試。最後,確認所選範圍以外的使用者無法看到該掛載點。刪除測試對象,並保留最小權限憑證。

有關特定版本的欄位說明,請參閱Nextcloud 35 Amazon S3 設定和Nextcloud 35 外部儲存管理指南。

留下評論

將 Nextcloud 資料遷移到外部磁碟機而不破壞存儲

將 Nextcloud 資料遷移到外部磁碟機而不破壞存儲

使用持久 UUID 掛載、維護模式、已驗證的副本和原始路徑符號鏈接,安全地將 Linux Nextcloud 資料目錄移至外部驅動器。

Nextcloud 資料庫更新後出現錯誤:我該先檢查什麼?

透過診斷 SQL 錯誤、檢查資料庫連線並安全地完成中斷的遷移,在更新後恢復 Nextcloud 存取。

使用 OCC 重設遺失的 Nextcloud 管理員密碼

使用 Nextcloud 的 OCC 命令從伺服器 shell 重設管理員密碼,並提供有關使用者名稱、權限和外部登入提供者的指導。

在為 Nextcloud 提供服務的 HTTPS 端點新增 HSTS 標頭

透過在 Apache、NGINX 或 TLS 代理程式上設定標頭來清除 Nextcloud 的 HSTS 警告,然後安全地驗證公共 HTTPS 回應。

排查 Nextcloud 應用程式安裝後報告無網路連線的問題

排查 Nextcloud 應用程式安裝後報告無網路連線的問題

追蹤 App Store 安裝失敗是否由 DNS、HTTPS、代理、TLS 或 Nextcloud 伺服器本身的設定問題所引起。

使用定時佇列來控制 Nextcloud 預覽版 CPU 峰值

將縮圖製作移至受控的後台計劃,修剪未使用的預覽尺寸,並在不使 Nextcloud 伺服器過載的情況下驗證佇列。

取得 Nextcloud 桌面同步功能,擺脫「處理文件」的束縛

找到導致 Nextcloud 同步失敗的檔案、排除規則、連線問題或用戶端資料庫狀態,然後安全地驗證上傳和下載。

透過調整右側限制來清除 Nextcloud OPcache 警告

找到觸發 Nextcloud 警告的 PHP OPcache 限制,更新正確的 Web PHP 配置,安全重啟,並驗證結果。

將 Nextcloud 連接到 CODE Docker:設定和權衡

將 Nextcloud 連接到 CODE Docker:設定和權衡

比較內建程式碼和基於 Docker 的程式碼,然後透過安全的 HTTPS 反向代理將 Collabora Online 連接到 Nextcloud。

使用 Galera 建構彈性 Nextcloud 集群

規劃一個可靠的 Nextcloud 高可用性部署,包括共用儲存、Redis 鎖定、支援仲裁的 MariaDB 路由和實用的故障轉移檢查。