Ръководства

Файлов мениджър за MinIO и собствен S3: свържете го с Nubbo

Как да свържете собствено S3-съвместимо хранилище, като MinIO, Ceph или SeaweedFS, с Nubbo: endpoint, ключ, регион, CORS и какво да правите при грешка.

Nubbo се свързва с всяко S3-съвместимо хранилище, което подписва със Signature V4, като MinIO, Ceph или SeaweedFS, на ваш собствен сървър или при друг доставчик. Нужни са ви само URL адресът на endpoint-а, ключ и регионът. Това ръководство следва съветника на Nubbo стъпка по стъпка и по двата пътя: автоматично или с ключ, ограничен до един bucket.

Какво получавате

  • Разглеждате bucket-а като диск: папки, изгледи, търсене, кошче, етикети и любими.
  • Качвате и изтегляте файлове директно между браузъра си и вашия сървър. Файловете никога не минават през сървърите на Nubbo.
  • Споделяте файлове и папки с парола, срок на валидност и лимит на изтеглянията, получавате файлове в bucket-а си и създавате галерии.
  • Ключовете ви се съхраняват криптирани с AES-256-GCM и можете да изключите bucket-а по всяко време.

Преди да започнете

Нужни са ви S3-съвместимо хранилище и акаунт в Nubbo. Всеки свързан bucket се брои към лимита на вашия план: Безплатният план позволява 2, Personal 5, а Pro няма ограничение. Endpoint-ът трябва да е публичен URL адрес, до който имат достъп както сървърите на Nubbo, така и браузърът, и трябва да използва HTTPS, защото браузърът не зарежда HTTP съдържание от https://nubbo.app. Nubbo отхвърля endpoint-и, които сочат към частни или локални адреси. Ако сървърът ви няма региони, оставете us-east-1.

Изберете как да се свържете

Съветникът на Nubbo предлага два пътя. И двата завършват по един и същ начин: bucket-ът е свързан и готов за качване от браузъра.

АвтоматичноС ограничен ключ
КлючДостъп до целия акаунтОграничен до един bucket
BucketNubbo използва ваш или създава новВие го създавате първо
CORSNubbo добавя правилото вместо васВие добавяте правилото
Кога да го изберетеНай-бързият начинКогато не искате да давате достъп до целия акаунт

Автоматично свързване

Стъпка 1: създайте ключа на своя сървър

  1. Проверете дали сървърът ви предоставя S3 API със Signature V4 на публичен HTTPS адрес, например https://s3.your-domain.com.
  2. Създайте ключ, който може да създава bucket-и и да променя техния CORS.
  3. Запишете URL адреса на endpoint-а и региона. Ако сървърът ви няма региони, използвайте us-east-1.

Стъпка 2: свържете bucket-а в Nubbo

  1. В Nubbo отворете Bucket-и и натиснете Свързване на bucket. Изберете Персонализиран S3 / самостоятелно хостван и натиснете Продължи.

    Стъпката Доставчик в съветника на Nubbo с избран Персонализиран S3 / самостоятелно хостван Стъпката Доставчик в съветника на Nubbo с избран Персонализиран S3 / самостоятелно хостван
  2. Изберете Автоматично и натиснете Продължи.

    Стъпката Начин на свързване с опциите Автоматично и С ограничен ключ Стъпката Начин на свързване с опциите Автоматично и С ограничен ключ
  3. В стъпката Вашият ключ поставете access key, secret key, URL адреса на endpoint-а и региона. Натиснете Провери ключа. Nubbo проверява, че ключът работи и че има достъп до целия акаунт.

    Стъпката Вашият ключ за Персонализиран S3 / самостоятелно хостван с бързото ръководство и полетата за ключа Стъпката Вашият ключ за Персонализиран S3 / самостоятелно хостван с бързото ръководство и полетата за ключа
  4. Изберете някой от вашите bucket-и и натиснете Използвай този bucket или изберете Създай нов, въведете име (и изберете региона, ако бъде поискан) и натиснете Създай и подготви. Nubbo добавя към bucket-а CORS правило, което разрешава качвания и изтегляния само от приложението, и запазва правилата, които вече има.

    Стъпката Вашият bucket със списъка с bucket-и и опцията Създай нов Стъпката Вашият bucket със списъка с bucket-и и опцията Създай нов
  5. Прегледайте трите проверки, променете Име в Nubbo, ако желаете, и натиснете Завърши. Bucket-ът се появява в Bucket-и и можете да го отворите във файловия мениджър.

    Стъпката Готово с проверките на връзката, bucket-а и CORS Стъпката Готово с проверките на връзката, bucket-а и CORS

Ако Nubbo не може да добави CORS правилото с вашия ключ, съветникът ви отвежда към стъпката CORS. Тогава следвайте Добавете CORS правилото.

Свързване с ограничен ключ

Стъпка 1: подгответе bucket-а и ключа на своя сървър

  1. Създайте bucket-а на сървъра си (в MinIO например с mc mb).
  2. Създайте ключ с права за четене и запис върху този bucket.
  3. Запишете URL адреса на endpoint-а и региона.

Стъпка 2: свържете bucket-а в Nubbo

  1. В Bucket-и натиснете Свързване на bucket, изберете Персонализиран S3 / самостоятелно хостван и след това С ограничен ключ.
  2. Поставете access key, secret key, endpoint-а и региона. Натиснете Провери ключа.
  3. Въведете точното име на bucket-а и натиснете Провери достъпа.
  4. Съветникът преминава към стъпката CORS с правилото, което трябва да добавите.

Добавете CORS правилото

CORS правилото позволява на браузъра да качва и изтегля файлове от вашия bucket в https://nubbo.app. Това е същото правило, което съветникът показва в стъпката CORS.

Начинът на настройка на CORS зависи от софтуера:

  • MinIO (community издание) не приема CORS за отделен bucket: използва глобална настройка (MINIO_API_CORS_ALLOW_ORIGIN), която по подразбиране разрешава всеки произход. Ако не сте я променяли, няма какво да правите: натиснете Добавено е, провери и проверката ще мине. Ако сте я променили, включете https://nubbo.app.
  • Ceph и SeaweedFS приемат CORS за отделен bucket през S3 API. Приложете това правило с обичайния си инструмент (например aws s3api put-bucket-cors с вашия endpoint) или оставете Nubbo да го направи по автоматичния път.
[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["https://nubbo.app"],
    "ExposeHeaders": ["ETag"],
    "MaxAgeSeconds": 3600
  }
]
Стъпката CORS с правилото, което да добавите към bucket-а Стъпката CORS с правилото, което да добавите към bucket-а

Когато правилото е готово, върнете се в Nubbo и натиснете Добавено е, провери. В Ceph и SeaweedFS, ако ключът ви може да променя CORS, Опитай да го конфигурираш вместо мен ще го направи вместо вас.

Ако нещо се обърка

Съобщение в NubboКакво да направите
„Невалидни идентификационни данни. Проверете ключа за достъп и тайния ключ за достъп.“Копирайте отново двата ключа, без интервали в началото или в края.
„Този ключ изглежда ограничен до един bucket. Можете да продължите по ограничения път или да създадете ключ с пълен достъп.“Натиснете Продължи с ограничен ключ или създайте ключ с достъп до целия акаунт и натиснете Опитай друг ключ.
„Bucket не е намерен. Проверете името и региона.“Проверете точното име на bucket-а и дали избраният регион е този на bucket-а.
„Вашият ключ няма право да създава bucket-и.“Използвайте ключ с пълен достъп или създайте bucket-а в панела си и натиснете Вече е създаден в моя панел.
„Това име вече се използва при този доставчик; опитайте с друго.“Имената на bucket-ите са уникални в рамките на доставчика: изберете друго.
„Вашият ключ няма право да го настрои.“Добавете CORS правилото ръчно, както е обяснено по-горе.
„Все още не работи. Прегледайте правилото и проверете отново; при някои доставчици прилагането му отнема около минута.“Проверете дали произходът е точно https://nubbo.app без наклонена черта в края, изчакайте минута и проверете отново.
„Този bucket вече се използва.“Този bucket вече е свързан в Nubbo, във вашия акаунт или в друг.
„Не успяхме да достигнем S3 крайната точка. Проверете URL адреса на крайната точка.“Проверете дали URL адресът е публичен, използва HTTPS и отговаря от интернет, а не само от вашата мрежа.
„URL адресът на крайната точка не е валиден. Проверете формата.“Въведете пълния URL адрес с https:// и без името на bucket-а. Съобщението се показва и когато URL адресът сочи към частен или локален адрес или името не се разрешава.
„Времето за връзка изтече. Опитайте отново.“Проверете защитната стена на сървъра си и дали портът е достъпен отвън.

Колко струва

Ако сравнявате собствено хранилище с доставчик, сравнете цените и ограниченията в S3 срещу R2 срещу Spaces срещу Wasabi срещу Backblaze B2.

Често задавани въпроси

Кои самостоятелно хоствани хранилища работят с Nubbo?

Всяко хранилище, съвместимо с S3 API със Signature V4, като MinIO, Ceph или SeaweedFS, както и S3-съвместими доставчици, които не са в списъка.

Мога ли да свържа MinIO в локалната си мрежа?

Не. Endpoint-ът трябва да е публичен URL адрес: Nubbo отхвърля частни и локални адреси, а и браузърът също трябва да може да го достигне.

Кой регион да използвам, ако сървърът ми няма региони?

us-east-1. Това е регионът по подразбиране на повечето S3-съвместими сървъри.

Защо Nubbo не може да настрои CORS в MinIO?

Защото community изданието на MinIO не поддържа CORS за отделен bucket. То използва глобална настройка, която по подразбиране разрешава всеки произход, и Nubbo я проверява.

Източници

Цените и ограниченията са взети от официалните страници по-долу. Доставчиците ги променят, затова проверете, преди да се обвържете.