Посібники

Файловий менеджер для Cloudflare R2: підключіть його до Nubbo

Як підключити бакет Cloudflare R2 до Nubbo: токен API, Account ID, майстер крок за кроком, правило CORS і що робити, якщо щось не працює.

Nubbo підключається до Cloudflare R2 за допомогою токена API R2 і Account ID вашого облікового запису. За кілька хвилин ваші бакети опиняться у файловому провіднику з прямими завантаженнями, посиланнями для спільного доступу та галереями. Цей посібник крок за кроком проходить майстер Nubbo обома шляхами: автоматичним або з ключем, обмеженим одним бакетом.

Що ви отримуєте

  • Переглядайте бакет як диск: папки, подання, пошук, кошик, мітки й обране.
  • Завантажуйте файли напряму між браузером і Cloudflare R2. Файли ніколи не проходять через сервери Nubbo.
  • Діліться файлами й папками з паролем, терміном дії та лімітом завантажень, отримуйте файли у свій бакет і створюйте галереї.
  • Ваші ключі зберігаються зашифрованими за допомогою AES-256-GCM, і бакет можна відключити будь-коли.

Перед початком

Вам потрібні обліковий запис Cloudflare R2 і обліковий запис Nubbo. Кожен підключений бакет враховується в ліміті вашого тарифу: Безкоштовний дозволяє 2, Personal 5, а Pro не має обмежень. Перед першим бакетом Cloudflare попросить активувати підписку R2 на панелі. Якщо ваш бакет має юрисдикцію (EU, FedRAMP або US), ви вибираєте її в майстрі, і Nubbo використовує endpoint цієї юрисдикції.

Виберіть спосіб підключення

Майстер 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. Також скопіюйте свій Account ID, указаний на сторінці R2 Overview.

Крок 2: підключіть бакет у Nubbo

  1. У Nubbo відкрийте Бакети й натисніть Підключити бакет. Виберіть Cloudflare R2 і натисніть Продовжити.

    Крок «Провайдер» майстра Nubbo з вибраним Cloudflare R2 Крок «Провайдер» майстра Nubbo з вибраним Cloudflare R2
  2. Виберіть Автоматично й натисніть Продовжити.

    Крок «Спосіб підключення» з варіантами «Автоматично» та «З обмеженим ключем» Крок «Спосіб підключення» з варіантами «Автоматично» та «З обмеженим ключем»
  3. На кроці Ваш ключ вставте Access Key ID, Secret Access Key і Account ID. Nubbo складе endpoint вашого облікового запису з Account ID. Регіон R2 завжди auto. Перш ніж натиснути Перевірити ключ, виберіть Юрисдикція свого бакета: Типова (без юрисдикції) для більшості бакетів або EU, FedRAMP чи US. Разом із нею змінюється endpoint (https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com для ЄС), а список показує лише бакети цієї юрисдикції. Натисніть Перевірити ключ. Nubbo перевірить, що ключ працює і має доступ до всього облікового запису.

    Крок «Ваш ключ» для Cloudflare R2 з коротким посібником і полями ключа Крок «Ваш ключ» для Cloudflare R2 з коротким посібником і полями ключа
  4. Виберіть один зі своїх бакетів і натисніть Використати цей bucket або виберіть Створити новий, введіть назву (і виберіть регіон, якщо майстер попросить) та натисніть Створити й підготувати. Nubbo додасть до бакета правило CORS, яке дозволяє завантаження лише із застосунку, і збереже правила, що вже є.

    Крок «Ваш bucket» зі списком бакетів і варіантом «Створити новий» Крок «Ваш bucket» зі списком бакетів і варіантом «Створити новий»
  5. Перегляньте три перевірки, за бажання змініть Назва в Nubbo і натисніть Завершити. Бакет з’явиться в розділі Бакети, і його можна відкрити в провіднику.

    Крок «Готово» з перевірками підключення, бакета та CORS Крок «Готово» з перевірками підключення, бакета та CORS

Якщо Nubbo не може додати правило CORS з вашим ключем, майстер переведе вас на крок CORS. Тоді виконайте розділ Додайте правило CORS.

Підключення з обмеженим ключем

Крок 1: підготуйте бакет і ключ у Cloudflare R2

  1. В R2, Overview натисніть Create bucket і дайте йому назву (малі літери, цифри й дефіси). Регіон вибирати не потрібно. Якщо дані мають залишатися в ЄС, виберіть юрисдикцію EU: разом із нею змінюється endpoint.
  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Що робити
«Схоже, цей ключ обмежений одним bucket. Можна продовжити обмеженим шляхом або створити ключ із повним доступом.»Натисніть «Продовжити з обмеженим ключем» або створіть ключ із доступом до всього облікового запису й натисніть «Спробувати інший ключ».
«Ваш ключ не має дозволу створювати bucket.»Використайте ключ із повним доступом або створіть бакет у своїй панелі й натисніть «Він уже створений у моїй панелі».
«Ця назва вже використовується в цього провайдера; спробуйте іншу.»Назви бакетів унікальні в межах провайдера: виберіть іншу.
«Ваш ключ не має дозволу на це налаштування.»Додайте правило CORS вручну, як описано вище.
«Ще не працює. Перегляньте правило й перевірте знову; деяким провайдерам потрібна хвилина, щоб його застосувати.»Переконайтеся, що джерело (origin) саме https://nubbo.app без скісної риски в кінці, зачекайте хвилину й перевірте знову.
«Цей bucket вже використовується.»Цей бакет уже підключено в Nubbo, у вашому чи в іншому обліковому записі.
«Недійсні облікові дані. Перевірте ключ доступу та секретний ключ доступу.»Переконайтеся, що вставили Access Key ID і Secret Access Key токена, а не значення токена API Cloudflare.
«Bucket не знайдено. Перевірте назву та регіон.»Перевірте назву і чи збігається юрисдикція в Nubbo з юрисдикцією бакета (R2 показує її в Settings бакета).

Скільки це коштує

R2 не бере плату за вихідний трафік і має щомісячний безкоштовний рівень. Ми пояснюємо це в статті Безкоштовний рівень Cloudflare R2.

Поширені запитання

Де знайти свій Account ID у Cloudflare?

На сторінці R2 Overview, у розділі Account Details. Це рядок із 32 символів: цифр і літер від a до f.

Який дозвіл потрібен токену R2?

Мінімальний доступ, потрібний Nubbo, це Object Read & Write, обмежений вашим бакетом, з підключенням через обмежений ключ: ви вводите назву бакета й самі додаєте правило CORS. Автоматичне підключення потребує Admin Read & Write, з яким Nubbo показує ваші бакети, створює новий і налаштовує його CORS.

Який регіон використовувати з R2?

Жодного: R2 використовує регіон auto, і Nubbo встановлює його за вас. Підказки розташування (location hints) Cloudflare не впливають на те, як підключається бакет.

Чи можна підключити бакет R2 з юрисдикцією, наприклад ЄС?

Так. На кроці Ваш ключ виберіть юрисдикцію бакета (EU, FedRAMP або US). Кожна має власний endpoint, наприклад https://<ACCOUNT_ID>.eu.r2.cloudflarestorage.com, і показує лише бакети, створені в ній.

Чи коштують завантаження з Nubbo вихідного трафіку в R2?

Ні. R2 не бере плату за вихідний трафік. Проте завантаження рахуються як операції читання.

Джерела

Ціни та ліміти взято з офіційних сторінок нижче. Провайдери їх змінюють, тож перевірте, перш ніж ухвалювати рішення.