Миниатюры не загружаются

Я мигрирую 15-летнее сообщество на Discourse и мы решили не переносить более ста тысяч сообщений, а только те, которые представляют долгосрочную ценность.

На старом форуме изображения сохраняются по адресу https://static.xxx/uploads/xxx.jpg, и мы оставим этот сервер работающим после миграции.

При переносе сообщений с изображениями они не загружаются автоматически, и миниатюры не создаются — независимо от того, оборачиваю ли я изображения в круглые скобки или нет. Это работает в рамках текущей сессии, но при принудительной перезагрузке страницы или при просмотре другими пользователями появляется значок «битого» изображения:

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

Единственное, что приходит в голову, — проблема с брандмауэром: оба сервера находятся в частном IP-пространстве, и брандмауэр предотвращает доступ внутреннего сервера к другому через внешний IP. Я, кажется, правильно настроил это в файле /etc/hosts на хосте, но не являюсь экспертом по Docker. При пинге сервера статических изображений из обычного командного окна я получаю правильный внутренний IP-адрес. (записать себе: зайти в контейнер и проверить оттуда).

Нужно ли что-то ещё сделать, чтобы заставить static.xx использовать внутренний IP? Внешние изображения, обернутые в (), отображаются корректно с использованием лайтбокса.

Можно настроить его взаимодействие с внутренним DNS-сервером? Это зависит от вашей топологии уровня 3, но это позволит остановить весь трафик loopback.

При пинге сервера активов я получаю внутренний IP-адрес. Использует ли Docker альтернативный файл хостов?

Используйте ./launcher enter app, чтобы узнать.

ага, вот в чём проблема. resolves до внешнего IP.
root@discourse-app:/var/www/discourse# cat /etc/hosts

127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 discourse-app

Добавил, и… успех!

Изменение файла hosts в контейнере не сохраняется после пересборки. Лучше устранить проблемы в цепочке DNS, чем использовать временные решения.

Это проблема… хотя после того, как файл будет импортирован в Discourse, на оригинал больше не будет ссылок, верно?