Épinglage de la version Nginx

Pas tout à fait un Contribute > Bug, mais il n’est pas clair dans quelle autre catégorie cela devrait être classé. C’est problématique et ce n’est pas un Contribute > Feature. Peut-être Support, mais je suis assez certain de ce que je fais ici.

Voir aussi : un post similaire datant de 3 ans Dockerfile in official install instructions uses unsupported version of Nginx

Un test de pénétration de routine effectué cette semaine a révélé que la version de NGINX utilisée était en fin de vie (EOL). Il n’a pas été possible de l’exploiter, mais il a été signalé comme nécessitant une correction dans les plus brefs délais.

La tentative de mise à jour de Discourse via git pull n’a toujours pas résolu le problème, car bien que le dépôt Discourse Docker soit mis à jour, les modèles épinglent l’image de base à la version précédente (discourse/base:2.0.20260109-0020)

Quelques questions :

  • Pourquoi la version épinglée de NGINX était-elle si ancienne qu’elle était déjà en fin de vie ? Y a-t-il une raison que j’ignore ?

  • Pourquoi la nouvelle version a-t-elle été choisie comme étant la 1.28.1 et non la 1.29.4 (dernière version au 27.01.2026) - encore une fois, y a-t-il une raison ?

En général, Discourse semble très soucieux de maintenir tous les utilisateurs sur une version récente (ce qui semble logique), c’est-à-dire ce qui était tests-passed.

Comment puis-je mettre à jour NGINX (idéalement sans contournements locaux) ?

1 « J'aime »

Il n’y a pas de raison spécifique, c’est juste que nous n’avions pas procédé à la mise à jour depuis un certain temps. Vous avez raison, nous aurions dû idéalement le remarquer avant qu’elle n’atteigne sa fin de vie (EOL).

La 1.28.1 est la dernière version « stable », c’est donc celle que nous avons choisie. La 1.29.x est la version « mainline » avec un taux de changement plus élevé, et nous n’avons actuellement pas besoin de ces nouvelles fonctionnalités.

Merci d’avoir soulevé ce point. Nous avons maintenant terminé la mise à jour de l’étiquette dans les modèles, donc l’exécution d’un autre ./launcher rebuild app devrait vous donner la nouvelle version de nginx.

6 « J'aime »

Pas de problème et merci pour la réponse rapide @david !

Malheureusement, cela ne semble toujours pas fonctionner. L’exécution d’un git pull, puis de ./launcher rebuild app a bien récupéré une nouvelle image (discourse/base:2.0.20260116-2039) mais l’image semble toujours inclure nginx 1.26.3 :

root@server:/var/discourse# docker exec -it app nginx -v
nginx version: nginx/1.26.3

J’enquête de mon côté au cas où il s’agirait d’un problème de mise en cache étrange du conteneur, mais d’après ce que je vois, il semble simplement que cette image de base 20260116-2039 contienne toujours NGINX 1.26.3.

1 « J'aime »

Intéressant, je constate la même chose. Bien que nous ayons mis à jour NGINX dans la configuration, il semble que la mise à jour de l’image visait spécifiquement à mettre à jour Redis, et non NGINX.

Je vais vérifier avec l’équipe et voir s’il est possible d’épingler une version d’image encore plus récente.

4 « J'aime »

Des nouvelles concernant le problème d’épinglage de version NGINX ? J’ai vu une version 2026.1.0-latest, mais d’après ce que je comprends, cela ne met pas à jour l’image de base.

Nous venons de mettre à jour l’image à nouveau : Bump base image to `20260129-0023` (#1035) · discourse/discourse_docker@068819b · GitHub

Ainsi, la prochaine reconstruction devrait vous donner NGINX 1.28.1

3 « J'aime »

Merci @david, ça fonctionne maintenant.

1 « J'aime »