Не совсем подходит под категорию Contribute > Bug, но и неясно, в какую другую категорию его стоит отнести. Это проблемный вопрос, и он не относится к Contribute > Feature. Возможно, к Support, но я довольно уверен, что понимаю, что делаю.
В ходе плановой пентеста на этой неделе выяснилось, что используемая версия NGINX достигла конца жизненного цикла (EOL). Эксплуатировать эту уязвимость не удалось, но проблема была помечена как требующая срочного исправления.
Попытка обновить Discourse через git pull всё ещё не решила проблему, потому что хотя репозиторий Discourse Docker обновлён, шаблоны фиксируют базовый образ предыдущей версии (discourse/base:2.0.20260109-0020).
Несколько вопросов:
Почему зафиксированная версия NGINX была настолько старой, что уже достигла EOL? Есть ли какие-то причины, о которых я не знаю?
Почему новая версия была выбрана как 1.28.1, а не 1.29.4 (самая актуальная на 27.01.2026) — снова же, есть ли для этого обоснование?
В целом, Discourse, кажется, очень стремится держать всех пользователей на недавних версиях (что кажется разумным), например, то, что раньше называлось tests-passed.
Как мне обновить NGINX (желательно без локальных хаков)?
Специфической причины нет, просто мы давно не проходили процесс обновления. Вы правы: в идеале мы должны были заметить это до того, как версия перешла в статус EOL.
1.28.1 — это последняя «стабильная» версия, поэтому мы остановились на ней. Версии 1.29.x относятся к «основной» ветке с более частыми изменениями, и нам в данный момент не нужны новые функции из неё.
Спасибо, что обратили на это внимание. Мы теперь обновили тег в шаблонах, поэтому повторный запуск ./launcher rebuild app должен предоставить вам новую версию nginx.
К сожалению, это всё ещё, похоже, не работает. Выполнение git pull, а затем ./launcher rebuild app действительно загрузило новый образ (discourse/base:2.0.20260116-2039), но, похоже, в образе всё ещё остаётся nginx 1.26.3:
Я проверяю свою сторону на случай, если это какая-то странная проблема с кэшированием контейнеров, но, насколько я могу судить, дело просто в том, что базовый образ 20260116-2039 всё ещё содержит NGINX 1.26.3.
Интересно, я вижу то же самое. Хотя мы обновили NGINX в конфигурации, похоже, что обновление образа могло быть направлено конкретно на Redis, а не на NGINX.
Я свяжусь с командой и посмотрим, как зафиксировать ещё более новую версию образа.
Есть ли какие-либо новости по проблеме фиксации версии NGINX? Я видел выпуск 2026.1.0-latest, но, насколько я могу судить, он не обновляет базовый образ.