Недавно я перенёс свой форум с одного сервера на другой. Текущая версия — 2.6.0.beta2. Всё остальное работает нормально, однако ранее загруженные изображения не отображаются, и пользователи не могут загружать новые изображения. Кроме того, пользователи не могут обновить свои аватары.
Я попробовал несколько решений, упомянутых на этом форуме, но ни одно из них не сработало. Нужна помощь!
Я никогда не использовал S3 на этом сервере, даже для тестирования.
Мне пришлось сменить сервер, так как я хотел изменить регион. Новый сервер во всем идентичен старому, за исключением региона. Я использовал CDN CloudFront, но после миграции полностью очистил кэш.
Я вижу, что старые изображения доступны на новом сервере, так как они были включены в резервную копию, но проблема всё ещё сохраняется.
Да, на обоих серверах всё было идентично. Я следовал правильным шагам для миграции, а также изучил проблемы, с которыми сталкивались другие пользователи в процессе миграции.
Проблема не только в том, что я не могу просматривать старые изображения — пользователи также не могут загружать новые. Думаю, дело в каком-то драйвере изображений (извините за предположение без точных данных).
Итак, подытожим: ваш старый сервер был установлен по стандартной схеме. Вы переустановили систему, собрав её аналогичным образом, и восстановили резервную копию.
Если вы посмотрите исходный код страницы, какие 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 и получил следующий результат:
Чтобы убедиться наверняка, я очистил кэш CDN, но по-прежнему не могу просматривать изображения. Кроме того, я не могу загружать изображения, поэтому сомневаюсь, что это решение поможет решить эту проблему.