Решил поделиться обновлением о своей ситуации.
После некоторых исследований я решил, что мне нужна настройка для нескольких сайтов (на данном этапе — один контейнер) с внешним сайтом nginx, который будет объяснять конфигурацию и перенаправлять пользователей и трафик на отдельные сайты Discourse. Таким образом, я смогу открыть оба сайта для доступа только на чтение (и для веб-краулеров), не заставляя участников list1 сталкиваться с контентом из list2. Возможно, мне придётся поэкспериментировать с robots.txt, чтобы удовлетворить требования веб-краулеров.
Примеры настройки для нескольких сайтов были полезны, но мне не удалось заставить их работать с unix-сокетом (ошибка шлюза), поэтому я перенаправил их на другой порт, а затем перенаправил этот порт на 443 внутри контейнера.
В моём файле app.yml я включил шаблон SSL, но не шаблон letsencrypt.
Мне удалось запустить тестовый сайт, теперь я ищу возможные проблемы, которые могут возникнуть при переносе на производственный сайт, надеюсь, в конце этого или следующем месяце.
Я занимаюсь вопросом сертификатов на стороне внешнего сервера, но столкнулся с проблемой «небезопасное соединение», которую решил, потребовав использование HTTPS внутри контейнера. У меня есть задача, которую я буду запускать через cron для копирования последнего сертификата и ключа в директорию /shared/ssl контейнера (как ssl.crt и ssl.key). Не уверен, нужно ли будет принудительно перезагружать nginx внутри контейнера, чтобы убедиться, что новый сертификат загружается при его изменении (в июле, думаю).
Я также столкнулся с одной особенностью Discourse:
В файле /etc/nginx/conf.d/discourse.conf внутри контейнера есть следующий фрагмент кода (доменное имя изменено):
if ($http_host != ‘site1.my.domain’) {
rewrite (.*) https://site1.my.domain$1 permanent
}
Это вызывало перенаправление site2.my.domain на site1.my.domain, поэтому мне пришлось закомментировать этот фрагмент.
ПРИМЕЧАНИЕ: Пересборка контейнера требует повторного выполнения этого редактирования. Есть ли способ этого избежать?
Это также привело к проблеме в браузере: теперь Firefox пометил это перенаправление как постоянное, поэтому мне пришлось очистить кэш браузера. (Мне потребовалось слишком много времени, чтобы это понять!)
Я также обнаружил ещё одну странность.
На моём тестовом сайте параметр, требующий использования HTTPS, не был установлен ни для одного из сайтов. На производственном сайте этот параметр даже отсутствует в файле настроек. Думаю, это связано с различиями между двумя сайтами.