Обновленные настройки региона S3 не работают для недавно загруженных активов

После изменения настройки s3_region в Discourse с значения по умолчанию us-east-1 на us-west-2, новые изображения успешно загружались в S3, однако Discourse пытался ссылаться на них по прежнему адресу региона us-east-1, из-за чего все вновь загруженные изображения переставали отображаться.

Пример для новых изображений…
Ожидается: my-bucket.s3.dualstack.us-west-2.amazonaws.com/original/1X/xyz.png
Фактически: my-bucket.s3.dualstack.us-east-1.amazonaws.com/original/1X/xyz.png

Обходное решение Выполнение команды discourse remap //my-bucket.s3.dualstack.us-east-1.amazonaws.com //my-bucket.s3.dualstack.us-west-2.amazonaws.com заставило систему использовать правильный регион s3_region для новых изображений (а также, как и ожидалось, исправило ссылки на ранее загруженные изображения).

Странно, что проблема проявлялась непостоянно. Возможно, это сработало и для ранее загруженных изображений. Я не уверен.

Большинство пользователей, вероятно, всё равно выполняют remap при изменении этой настройки. В моём случае я настраивал новый форум. Я просто изменил настройку в одну сторону, а затем в другую, из-за чего все загрузки изображений перестали работать.

Я подтвердил это поведение на последнем коммите ветки main вчера (коммит: 967946378).

Связанные проблемы / обсуждения

Несколько заметок для тех, кто столкнётся с этим позже (включая меня):

Я запускаю Discourse с помощью установщика Digital Ocean. Чтобы выполнить remap или другие скрипты Discourse:

  • подключитесь к серверу по SSH
  • перейдите в директорию cd /var/discourse
  • войдите в контейнер, выполнив ./launcher enter app
  • перейдите в директорию cd /var/www/discourse
  • выполните discourse remap //my-bucket.s3.dualstack.us-east-1.amazonaws.com //my-bucket.s3.dualstack.us-west-2.amazonaws.com (отсюда также можно запускать другие скрипты Discourse)

Вот как запускать rake-скрипты или скрипты Discourse на установках Bitnami.

Это не ошибка, так как при изменении расположения ваших ассетов требуется переназначение.