Не совсем #баг, но и непонятно, в какую другую категорию это можно отнести. Это проблематично и не является #фичей. Возможно, #поддержка, но я вполне уверен в своих действиях здесь.
В ходе планового пентеста на этой неделе выяснилось, что используемая версия NGINX больше не поддерживается (EOL). Эксплуатировать уязвимость не удалось, но проблема помечена как требующая срочного исправления.
Попытка обновить Discourse через git pull пока не решила проблему, потому что, хотя репозиторий Discourse Docker обновлён, шаблоны фиксируют базовый образ на предыдущей версии (discourse/base:2.0.20260109-0020).
Вопросы:
Почему зафиксированная версия NGINX была настолько старой, что уже не поддерживалась? Есть ли причина, о которой я не знаю?
Почему выбрана версия 1.28.1, а не 1.29.4 (последняя на 2026.01.27) — опять же, есть ли обоснование?
В целом 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, но, насколько я могу судить, он не обновляет базовый образ.