指南

Cloudflare R2 檔案管理工具:連接到 Nubbo

如何將 Cloudflare R2 儲存桶連接到 Nubbo:API 權杖、帳戶 ID、連線精靈的每個步驟、CORS 規則,以及出問題時該怎麼做。

Nubbo 透過 R2 API 權杖和你帳戶的 Account ID 連接 Cloudflare R2。只要幾分鐘,你的儲存桶就會出現在檔案總管中,支援直接上傳、分享連結和相簿。這份指南會逐步帶你走過 Nubbo 連線精靈的兩種方式:自動,或使用僅限一個儲存桶的金鑰。

你會得到什麼

  • 像使用雲端硬碟一樣瀏覽儲存桶:資料夾、檢視方式、搜尋、垃圾桶、標籤和最愛。
  • 檔案直接在你的瀏覽器和 Cloudflare R2 之間上傳和下載。檔案從不經過 Nubbo 的伺服器。
  • 以密碼、到期日和下載次數限制分享檔案和資料夾,把檔案接收到你的儲存桶,還能建立相簿。
  • 你的金鑰以 AES-256-GCM 加密儲存,你可以隨時中斷儲存桶的連線。

開始之前

你需要一個 Cloudflare R2 帳戶和一個 Nubbo 帳戶。你連接的每個儲存桶都計入你的方案上限:免費方案可連接 2 個,Personal 5 個,Pro 則不限。建立第一個儲存桶之前,Cloudflare 會要求你從儀表板啟用 R2 訂閱。如果你的儲存桶設有管轄區(EU、FedRAMP 或 US),請在精靈中選擇,Nubbo 就會使用該管轄區的端點。

選擇連線方式

Nubbo 連線精靈提供兩種方式。兩者的結果相同:儲存桶完成連線,可以從瀏覽器上傳檔案。

自動使用受限金鑰
金鑰可存取整個帳戶僅限一個儲存桶
儲存桶Nubbo 使用你現有的,或新建一個你要先自行建立
CORSNubbo 為你新增規則你自行新增規則
何時選擇最快的方式不想授予整個帳戶的存取權時

受限金鑰是 Nubbo 需要的最小權限:對一個儲存桶的 Object Read & Write。使用它時 Nubbo 無法列出你的儲存桶,也無法建立新的儲存桶,因此你需要輸入儲存桶名稱並自行加入 CORS 規則。

自動連線

步驟 1:在 Cloudflare R2 建立金鑰

  1. 登入 dash.cloudflare.com 並開啟 R2 object storage。儀表板可能會以你的語言顯示選單。
  2. 開啟 API Tokens,按下 Create Account API token。也可以從 Overview 的 Account Details、Manage 進入。
  3. 選擇 Admin Read & Write 權限並建立權杖。
  4. 複製 Access Key ID 和 Secret Access Key。Cloudflare 只會顯示私密金鑰一次。請使用這兩把金鑰,而不是權杖值。
  5. 同時複製 R2 Overview 頁面上顯示的 Account ID。

步驟 2:在 Nubbo 連接儲存桶

  1. 在 Nubbo 中開啟 儲存桶,按下 連接儲存桶。選擇 Cloudflare R2,然後按下 繼續。

    Nubbo 連線精靈的服務供應商步驟,已選取 Cloudflare R2 Nubbo 連線精靈的服務供應商步驟,已選取 Cloudflare R2
  2. 選擇 自動,然後按下 繼續。

    連線方式步驟,含自動和使用受限金鑰兩個選項 連線方式步驟,含自動和使用受限金鑰兩個選項
  3. 在 你的金鑰 步驟中貼上 Access Key ID、Secret Access Key 和 Account ID。Nubbo 會根據帳戶 ID 組出你帳戶的端點。R2 的區域一律是 auto。按下 檢查金鑰 之前,選擇儲存桶的 管轄區:大多數儲存桶選 預設(無管轄區),也可以選 EU、FedRAMP 或 US。端點會隨之改變(歐盟為 https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com),清單也只顯示該管轄區的儲存桶。按下 檢查金鑰。Nubbo 會確認金鑰可用,且能存取整個帳戶。

    Cloudflare R2 的你的金鑰步驟,含快速設定指南和金鑰欄位 Cloudflare R2 的你的金鑰步驟,含快速設定指南和金鑰欄位
  4. 選擇你的其中一個儲存桶並按下 使用這個儲存桶,或選擇 新建,輸入名稱(如果有要求,再選擇區域),然後按下 建立並準備。Nubbo 會在儲存桶中新增一條 CORS 規則,只允許從應用程式上傳和下載,並保留原有的規則。

    你的儲存桶步驟,含儲存桶清單和新建選項 你的儲存桶步驟,含儲存桶清單和新建選項
  5. 檢查三項確認結果,視需要變更 在 Nubbo 中的名稱,然後按下 完成。儲存桶會出現在 儲存桶 頁面中,你可以在檔案總管中開啟它。

    完成步驟,含連線、儲存桶和 CORS 的確認結果 完成步驟,含連線、儲存桶和 CORS 的確認結果

如果 Nubbo 無法用你的金鑰新增 CORS 規則,連線精靈會帶你到 CORS 步驟。接著請依照 新增 CORS 規則 操作。

使用受限金鑰連線

步驟 1:在 Cloudflare R2 準備儲存桶和金鑰

  1. 在 R2、Overview 中按下 Create bucket,並取個名稱(小寫字母、數字和連字號)。不需要選擇區域。如果資料必須留在歐盟,請選擇 EU 管轄區:端點會隨之改變。
  2. 開啟 API Tokens,按下 Create Account API token。
  3. 選擇 Object Read & Write 權限,並限制在你的儲存桶。
  4. 複製 Access Key ID、Secret Access Key 和你的 Account ID。

步驟 2:在 Nubbo 連接儲存桶

  1. 在 儲存桶 頁面中按下 連接儲存桶,選擇 Cloudflare R2,再選擇 使用受限金鑰。
  2. 貼上 Access Key ID、Secret Access Key 和 Account ID。按下 檢查金鑰 之前,選擇與儲存桶相同的 管轄區。按下 檢查金鑰。
  3. 輸入儲存桶的確切名稱,然後按下 檢查存取權限。
  4. 連線精靈會進入 CORS 步驟,並顯示你需要新增的規則。

新增 CORS 規則

CORS 規則讓瀏覽器可以在 https://nubbo.app 上從你的儲存桶上傳和下載檔案。這和連線精靈在 CORS 步驟中顯示的規則相同。

  1. 在 R2 中開啟儲存桶,前往 Settings。
  2. 在 CORS Policy 下按下 Add CORS policy,選擇 JSON 分頁。
  3. 貼上規則,然後按下 Save。Cloudflare 最多可能需要 30 秒才能套用。
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
CORS 步驟,含要新增到儲存桶的規則 CORS 步驟,含要新增到儲存桶的規則

儲存後回到 Nubbo,按下 已新增,檢查。如果你的金鑰有變更 CORS 的權限,嘗試幫我設定 會替你完成。

如果出了問題

Nubbo 中的訊息該怎麼做
「這把金鑰似乎僅限一個儲存桶。你可以繼續使用受限方式,或建立一把具有完整存取權限的金鑰。」按下繼續使用受限金鑰,或建立一把可存取整個帳戶的金鑰,然後按下換一把金鑰。
「你的金鑰沒有建立儲存桶的權限。」使用具有完整存取權限的金鑰,或在你的控制台建立儲存桶,然後按下我已在控制台中建立。
「這個名稱在此服務供應商已被使用;請換一個。」儲存桶名稱在整個服務供應商中是唯一的:請換一個。
「你的金鑰沒有設定它的權限。」依照上方說明手動新增 CORS 規則。
「仍未生效。請檢查規則後再試一次;部分服務供應商需要約一分鐘才能套用。」確認來源完全是 https://nubbo.app,結尾沒有斜線,等一分鐘後再檢查一次。
「此儲存桶已在使用中。」這個儲存桶已經在 Nubbo 中連線,可能是在你的帳戶或其他帳戶中。
「憑證無效。請檢查存取金鑰和私密存取金鑰。」確認你貼上的是權杖的 Access Key ID 和 Secret Access Key,而不是 Cloudflare API 權杖值。
「找不到儲存桶。請確認名稱和區域。」檢查名稱,並確認 Nubbo 中的管轄區與儲存桶一致(R2 會在儲存桶的 Settings 中顯示)。

費用

R2 不收取流出費用,並提供每月免費額度。我們在 Cloudflare R2 免費額度 中說明。

常見問題

我在哪裡可以找到 Cloudflare 帳戶 ID?

在 R2 Overview 頁面的 Account Details 下。它是一個 32 個字元的字串,由數字和字母 a 到 f 組成。

R2 權杖需要什麼權限?

Nubbo 需要的最小權限是限於你的儲存桶的 Object Read & Write,搭配受限金鑰方式:你輸入儲存桶名稱並自行加入 CORS 規則。自動方式需要 Admin Read & Write,Nubbo 會用它列出你的儲存桶、建立新的儲存桶並設定其 CORS。

R2 要使用哪個區域?

不需要選:R2 使用 auto 區域,Nubbo 會為你設定。Cloudflare 的位置提示不會影響儲存桶的連線方式。

可以連接設有管轄區(例如歐盟)的 R2 儲存桶嗎?

可以。在「你的金鑰」步驟中選擇儲存桶的管轄區(EU、FedRAMP 或 US)。每個管轄區都有自己的端點,例如 https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com,而且只顯示在其中建立的儲存桶。

從 Nubbo 下載會產生 R2 的流出費用嗎?

不會。R2 不對流出的資料傳輸收費。不過下載會計為讀取操作。

資料來源

價格與限制取自以下官方頁面。服務供應商會調整這些內容,決定前請先確認。