Не удалось загрузить в S3 (Cloudflare R2)

Я настраивал R2 на своём сайте, следуя некоторым руководствам здесь, но теперь при попытке загрузки файла я вижу только общее сообщение: «Sorry, but your upload failed. Please try again.» В логах я вижу только следующее:

Я настроил свои URL в файле app.yml, потому что веб-интерфейс отклонял мои URL, оформленные так, как указано в постах с инструкциями (неверный формат):

image

CDN_URL — это пользовательский домен (настроенный в Cloudflare), а S3_ENDPOINT — это URL в веб-панели. Все мои параметры настроены правильно, с корректно созданными токенами авторизации:

Кажется, Cloudflare видит некоторые запросы, но ничего не сохраняется.

В чём проблема?

Привет,

Разве дело не в конечных слэшах (/) в URL S3 CDN и в конечной точке S3?

Это те руководства, которым вы следовали? Вы уверены, что имя вашего бакета для загрузки — «discourse»?

Да, первым я руководствовался

Верно

Попробую убрать косые черты и отпишусь

Я убрал конечные слэши, но это не помогло. Та же ошибка Unauthorized.

Токен также настроен правильно.

Уверены ли вы, что токен Cloudflare R2 имеет права на чтение и запись, и правильно ли вы настроили политику CORS? Я знаю, что у вас довольно нестандартная конфигурация сервера, и права доступа к бакету Cloudflare и его настройки должны быть абсолютно точными, иначе возникнут ошибки разрешений.

вы создали токен неверного типа — у вас общий API-токен. Вам нужно создать токен для ведра R2:

  1. перейдите в панель управления Cloudflare → R2 Object Storage (в левой боковой панели в разделе storage & databases).
  2. на правой стороне страницы обзора R2 нажмите manage R2 API tokens.
  3. нажмите create API token.
  4. установите разрешения в object read & write, затем нажмите save.
  5. в результате будут выданы access key id и secret access key. именно их нужно вставить в конфигурацию S3 в Discourse.

и да, вам нужно удалить завершающие косые черты, так как Discourse, скорее всего, отклонит их.

Спасибо, оказалось, что проблема была в этом. Бесполезно запутанно, но это вина Cloudflare

да, панель управления Cloudflare может превратиться в настоящий кошмар из настроек, ха-ха. рад, что у тебя всё получилось!