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

Недавно я перенёс свой форум с одного сервера на другой. Текущая версия — 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?

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

Обе эти установки были двухконтейнерными?

Переклассифицирую тему из Contribute > 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, но по-прежнему не могу просматривать изображения. Кроме того, я не могу загружать изображения, поэтому сомневаюсь, что это решение поможет решить эту проблему.