Новая установка за обратным прокси-сервером LiteSpeed зависает на экране загрузки

Я переношу существующую установку Discourse на новый сервер, и первый этап этого процесса — создание новой установки Discourse на новом сервере. На новом сервере уже работает веб-сервер на портах 80 и 443, поэтому я запускаю Discourse через Unix-сокет за обратным прокси, как описано здесь.

Единственное отличие в том, что я использую не nginx, а OpenLiteSpeed в качестве обратного прокси. Однако конфигурация OpenLiteSpeed довольно проста, и я уже настраивал её для других Docker-приложений: нужно просто настроить внешнее приложение, указав адрес сокета, а затем перенаправлять все запросы на этот сокет, используя контекст прокси.

В результате Discourse загружается, когда вы переходите по проксируемому URL (в данном случае forum.prostasia.org), но отображается только экран загрузки с анимированными точками, и процесс зависает на нём.

Есть ли какие-либо предложения по устранению этой проблемы? Спасибо!

Вы можете открыть консоль JavaScript и посмотреть, что загружается. Проверьте консоль и вкладку «Сеть».

Вы удалили шаблон Let’s Encrypt?

Спасибо, это помогло. Я вижу много таких ошибок:

Загрузка скрипта x отклонена, так как она нарушает следующую директиву Content Security Policy:

Когда я размещал другой контейнер Docker перед тем же обратным прокси, мне удалось решить проблему, установив переменную окружения TRUSTED_PROXIS в значение **.

Стоит попробовать то же самое, но как это сделать в Discourse?

Похоже, вы серьёзно ошиблись в настройках политики безопасности контента.

Также система пытается получить логотипы с http://www.example.com/, что может указать на причину проблемы. Похоже, ваша форма считает, что это её хостнейм…

image

Спасибо. Честно говоря, я не знаю, откуда взялся example.com. Поскольку скрипт установки discourse-setup не подходит для этого случая, я просто отредактировал containers/app.yml, а затем выполнил launcher rebuild app. Похоже, это не затронуло какой-то example.com где-то в системе.

Но в любом случае мне всё же удалось исправить мою настройку. Вместо того чтобы разворачивать новую установку и восстанавливать резервную копию, я создал tar-архив всей директории /var/discourse с моего оригинального сервера, выполнил пересборку поверх неё, и вуаля… всё, кажется, работает нормально. Так что в будущем я буду восстанавливать резервную копию именно таким способом. :slight_smile:

discourse-setup можно заставить работать, если вы:

  • временно отключите то, что работает на портах 80/443;
  • выполните сборку на другом сервере, а затем скопируете файлы;
  • используете переключатель для обхода проверки подключения.