Невозможно просмотреть или загрузить изображения

Недавно я перенёс свой форум с одного сервера на другой. Текущая версия — 2.6.0.beta2. Всё остальное работает нормально, однако ранее загруженные изображения не отображаются, и пользователи не могут загружать новые изображения. Кроме того, пользователи не могут обновить свои аватары.

Я попробовал несколько решений, упомянутых на этом форуме, но ни одно из них не сработало. Нужна помощь!

Вы ранее использовали S3 или какое-либо совместимое с S3 хранилище?

Что послужило причиной изменения? В чем разница между серверами и как был создан новый сервер?

Я никогда не использовал S3 на этом сервере, даже для тестирования.

Мне пришлось сменить сервер, так как я хотел изменить регион. Новый сервер во всем идентичен старому, за исключением региона. Я использовал CDN CloudFront, но после миграции полностью очистил кэш.

Я вижу, что старые изображения доступны на новом сервере, так как они были включены в резервную копию, но проблема всё ещё сохраняется.

Вы обновили старую инстанцию до того же уровня перед созданием/восстановлением резервной копии?

Да, на обоих серверах всё было идентично. Я следовал правильным шагам для миграции, а также изучил проблемы, с которыми сталкивались другие пользователи в процессе миграции.

Проблема не только в том, что я не могу просматривать старые изображения — пользователи также не могут загружать новые. Думаю, дело в каком-то драйвере изображений (извините за предположение без точных данных).

И это при стандартной установке?

Да, следуя инструкциям по адресу discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Хорошо, давайте подытожим: ваш старый сервер работал со стандартной установкой. Вы переустановили систему, созданную аналогичным образом, и восстановили резервную копию.

Если вы посмотрите исходный код страницы, как выглядят URL-адреса изображений? Как это соотносится с файлами в каталоге /var/discourse/standalone/web-only/uploads/default?

Что происходит, если вы попытаетесь открыть ссылку на изображение напрямую?

Была ли какая-либо из этих установок двухконтейнерной?

Перемещаю тег с bug на Support, так как пока нет четких шагов для воспроизведения проблемы. Как только мы определим корневую причину, это может потребовать оформления как ошибка, но на данный момент это не так.

Похоже, что изображения для моего форума загружаются в /var/discourse/shared/standalone/uploads/default/optimized/1X. Там хранится много изображений в нескольких разрешениях, однако имена файлов изображений на форуме и в каталоге не совпадают.

Я получаю код ошибки 404 для https://forumcdn.domain.com/uploads/default/optimized/1X/55cfd1bf40edcb3ac19d3e412a5ad63f93c0a854_2_225x250.png, но если заменить имя файла изображения на имя файла из каталога, всё работает. Все файлы изображений целы и могут быть просмотрены при прямом открытии, просто имена файлов на форуме отличаются.

Включена ли опция включать миниатюры в резервные копии на исходном экземпляре?

Если нет:

Включать сгенерированные миниатюры в резервные копии. Отключение этой опции уменьшит размер резервных копий, но потребует повторной обработки всех сообщений после восстановления.

Это означает, что вам нужно будет выполнить команду rake posts:rebake.

Включать миниатюры в резервные копии был отключен на исходном экземпляре. Я только что выполнил rake posts:rebake внутри контейнера Discourse и получил следующий результат:

root@vps-app:/var/www/discourse# rake posts:rebake
Пересборка Markdown-разметки постов для 'default'
      628 / 628 (100.0%)
Готово: 628 постов!

Чтобы убедиться наверняка, я очистил кэш CDN, но по-прежнему не могу просматривать изображения. Кроме того, я не могу загружать изображения, поэтому сомневаюсь, что это решение поможет решить эту проблему.