Skip to content

Добавление канала S3

Когда это лучший вариант

Используйте канал S3, если:

  • хотите подключить любое S3-совместимое объектное хранилище, например Cloudflare R2, Backblaze B2, MinIO, AWS S3 или другого совместимого провайдера;
  • вам удобна стандартная модель настройки S3: Endpoint, Access Key и Secret Key;
  • не хотите использовать нативный Cloudflare R2 binding или ваш провайдер хранилища не является Cloudflare R2.

Что подготовить заранее

Что нужноЗачем это нужно
S3 EndpointAPI endpoint S3 для объектного хранилища.
Имя bucketBucket, где будут храниться файлы.
RegionРегион хранилища. Для Cloudflare R2 обычно auto.
Access Key IDИдентификатор ключа доступа S3.
Secret Access KeyСекретный ключ доступа S3.
CDN domainНеобязательный собственный домен для доступа к файлам.

Пример для Cloudflare R2 через S3 API:

text
Endpoint: https://your-account-id.r2.cloudflarestorage.com
Bucket: your-r2-bucket-name
Region: auto
Access Key ID: copied from the Cloudflare R2 API token
Secret Access Key: copied from the Cloudflare R2 API token

Где добавить канал

  1. Откройте системные настройки.
  2. Перейдите в настройки загрузки.
  3. Нажмите Add Channel в правом верхнем углу.
  4. Выберите S3.

Поля настройки

ПолеЧто означаетОбязательно
Название каналаПонятное имя S3-канала, например s3test или R2-S3.Да
Enable channelОпределяет, участвует ли канал в выборе хранилища для загрузки.Рекомендуется
EndpointПолный endpoint S3-сервиса, включая https://.Да
Custom CDN domainНеобязательно. Если задан, сгенерированные ссылки на файлы будут использовать этот домен.Нет
Bucket nameИмя bucket, например s3test или img-r2.Да
Bucket regionРегион. Для Cloudflare R2 обычно auto.Да
Access Key IDИдентификатор ключа доступа S3.Да
Secret Access KeyСекретный ключ доступа S3.Да
Path-style accessПереключатель совместимости. По умолчанию выключен. Некоторым MinIO, OpenList или self-hosted S3-сервисам он может понадобиться.Нет
Quota limitОпределяет, учитывается ли емкость канала при выборе хранилища.Нет
Capacity limitТребуется после включения quota limit, например 10 GB.Да, если включен quota limit
ThresholdОстанавливает запись после достижения этого процента использования, например 90%.Да, если включен quota limit
RemarkЗаметки для вашего обслуживания.Нет

Создание S3 API keys для Cloudflare R2

  1. Откройте Cloudflare Dashboard.
  2. Перейдите в R2 Object Storage.
  3. Найдите Manage R2 API Tokens или пункт управления API-токенами.

![Вход к R2 API token](../../image/upload/s3/r2 api token入口.png)

  1. Создайте R2 API token с доступом к нужному bucket.

Создание account API token

  1. Скопируйте созданные Access Key ID и Secret Access Key.

Копирование значений токена

  1. Вернитесь на страницу R2 bucket и проверьте имя bucket.
  2. Запишите S3 API endpoint для аккаунта. Обычно он выглядит так:
text
https://your-account-id.r2.cloudflarestorage.com

Настройка

  1. Откройте настройки загрузки.
  2. Нажмите Add Channel.
  3. Выберите S3.
  4. Введите понятное имя канала, например s3test.
  5. В поле Endpoint введите S3 API endpoint.
  6. Если используете собственный CDN, введите его в Custom CDN domain; если нет, оставьте поле пустым.
  7. Введите имя bucket.
  8. Введите region. Для примера с Cloudflare R2 используйте auto.
  9. Введите Access Key ID и Secret Access Key.
  10. Оставьте path-style access выключенным, если провайдер явно не требует другого.
  11. Если нужен контроль емкости, включите quota limit и введите capacity limit и threshold.
  12. Нажмите Save.

Добавление S3 конфигурации

Как проверить

ПроверкаКак проверить
Карточка канала появиласьПосле сохранения на странице настроек загрузки должна появиться карточка S3-канала.
Канал включенПереключатель в правом верхнем углу карточки должен оставаться включенным.
Основные поля сохраненыВ деталях должны отображаться Endpoint, Bucket, Region, path-style access и связанные поля.
Загрузка работаетЗагрузите тестовое изображение и убедитесь, что объект появился в целевом bucket.
Ссылка открываетсяСсылка на изображение, возвращенная после загрузки, должна открываться нормально.
Отображение емкости работаетЕсли включен quota limit, карточка должна показывать использованную емкость и настроенный лимит.

Статистика емкости S3 считается по локальным записям файлов в ImgBed, а не через запрос к bucket провайдера в реальном времени. После сохранения S3-конфигурации система пересчитывает учет квоты по текущим записям D1.

Успешный запрос квоты

FAQ

Нужно ли включать path-style access?

Обычно нет.

Включайте его только тогда, когда ваш S3-совместимый провайдер не поддерживает virtual-hosted-style URL или документация провайдера прямо требует path-style access. Это может понадобиться для некоторых MinIO, self-hosted S3 и OpenList-совместимых endpoint.

Для чего нужен CDN domain?

Если перед bucket стоит CDN или собственный домен доступа, укажите его здесь.

После настройки сгенерированные ссылки на файлы будут использовать этот домен. Если CDN не используется, оставьте поле пустым.

Почему загрузка не проходит?

Сначала проверьте:

  1. Endpoint содержит полный URL с https://.
  2. Имя bucket правильное.
  3. Region соответствует требованиям провайдера.
  4. Access Key ID и Secret Access Key скопированы полностью.
  5. Ключ имеет право записи в целевой bucket.
  6. Провайдер не требует path-style access, либо этот режим включен, если нужен.

Короткий чек-лист

text
Подготовить S3 Endpoint, Bucket, Region, Access Key и Secret Key
-> Открыть настройки загрузки
-> Добавить канал
-> Выбрать S3
-> Ввести Endpoint / Bucket / Region / Access Key / Secret Key
-> При необходимости ввести CDN domain
-> По умолчанию оставить path-style access выключенным
-> При необходимости включить quota limit
-> Сохранить
-> Загрузить тестовое изображение и проверить результат

Released as user documentation for CloudFlare ImgBed.