Я переношу существующую установку Discourse на новый сервер, и первый этап этого процесса — создание новой установки Discourse на новом сервере. На новом сервере уже работает веб-сервер на портах 80 и 443, поэтому я запускаю Discourse через Unix-сокет за обратным прокси, как описано здесь.
Единственное отличие в том, что я использую не nginx, а OpenLiteSpeed в качестве обратного прокси. Однако конфигурация OpenLiteSpeed довольно проста, и я уже настраивал её для других Docker-приложений: нужно просто настроить внешнее приложение, указав адрес сокета, а затем перенаправлять все запросы на этот сокет, используя контекст прокси.
В результате Discourse загружается, когда вы переходите по проксируемому URL (в данном случае forum.prostasia.org), но отображается только экран загрузки с анимированными точками, и процесс зависает на нём.
Есть ли какие-либо предложения по устранению этой проблемы? Спасибо!
Загрузка скрипта x отклонена, так как она нарушает следующую директиву Content Security Policy:
Когда я размещал другой контейнер Docker перед тем же обратным прокси, мне удалось решить проблему, установив переменную окружения TRUSTED_PROXIS в значение **.
Стоит попробовать то же самое, но как это сделать в Discourse?
Также система пытается получить логотипы с http://www.example.com/, что может указать на причину проблемы. Похоже, ваша форма считает, что это её хостнейм…
Спасибо. Честно говоря, я не знаю, откуда взялся example.com. Поскольку скрипт установки discourse-setup не подходит для этого случая, я просто отредактировал containers/app.yml, а затем выполнил launcher rebuild app. Похоже, это не затронуло какой-то example.com где-то в системе.
Но в любом случае мне всё же удалось исправить мою настройку. Вместо того чтобы разворачивать новую установку и восстанавливать резервную копию, я создал tar-архив всей директории /var/discourse с моего оригинального сервера, выполнил пересборку поверх неё, и вуаля… всё, кажется, работает нормально. Так что в будущем я буду восстанавливать резервную копию именно таким способом.