Nginx - welche Version nutzt ihr?

Avenger84

Lt. Commander
Registriert
Feb. 2008
Beiträge
1.548
Hallo,
ich nutze Zuhause einen Nginx auf Ubuntu 24.04 LTS.

Habe die "Werksversion" installiert: 1.24.0

Nun habe ich gesehen dass es bereits 1.25.x 1.26 gibt (https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/), dazu muss man natürlich die Liste importieren:
To set up the apt repository for stable nginx packages, run the following command:
...
If you would like to use mainline nginx packages, run the following command instead:

Wenn ihr nicht die "Werksversion" nutzt, nutzt ihr die stable oder die mainline?

Wo ist der Unterschied ?

Da das Ding im Internet hängt und permanent irgendwelchen Bots ausgeliefert ist, tendiere ich zur neusten Version.
 
Unser Hoster im beruflichen Kontext nutzt 1.25.
 
ich nutze die Version die meine Distro anbietet

das hat dann vielleicht, nicht immer die aller neusten Feature

aber ob man HTTP 2 überhaupt aktiviert soll kann man darüber streiten!

wichtiger als die Version Nummer ist das du versteht was das Programm macht und die Konfig richtig schreibst denn da kann man sich leicht Probleme verursachen und am Ende führt das Ding, PHP Code in hoch geladenen Bilder Kommentaren aus

denn wenn nginx falsch konfiguriert ist reicht es der URL ein avatar.JPG/nonsens.php an zu höngen und PHP lädt die JPEG datei und führt darin PHP code aus

es gibt, beim nginx allgemein ein paar solche Fallen und wenig Händchen halten und viele Anleitungen im Netz sind genau so falsch wie alles andere
 
keine Sorge, ich nutze überhaupt gar kein PHP ;)
 
Es kommt drauf an wie viel Pflege du selbst in die Sicherheit und ggf. Updates stecken möchtest.

Wenn du das Paket deiner Distri nimmst und dabei auf den Supportzeitraum für das Paket achtest. Musst du dir idr. für den Zeitraum keine Sorgen um Patches für Sicherheitslücken machen.

Es gibt aber auch Vendor Pakete, die teilweise lange Support für bestimmte Distributionen anbieten. Auch für einen längeren Zeitraum.


Aber je nach den Lifetime kann es eben sein das du nach 9/12/24 usw. Monaten die Version wechseln musst und ggf. dann aber inkompatible Konfigurationen hast.

Achtung nicht alle Pakete die in Ubuntu dabei sind bekommen die 5 Jahre Maintaince Support. Nur das Repo main und restricted.
 
Unabhängig der Frage würde ich halt immer darauf achten, dass die Pakete, die ich nutze, auch noch aktiv supportet werden. Mit dem Release von 1.26.0 (vor 1,5 Wochen) ist 1.24.x aus dem Support gefallen (auf Entwicklerseite).
Wie das bei Ubuntu aussieht, musst du mal schauen. Es gibt Pakete, die werden wegen LTS weitergepflegt. Dann halt nicht mehr vom Nginx-Entwickler.
Siehe bspw. auch Debian:
https://tracker.debian.org/pkg/nginx

Bei Debian gibt es "Stable" derzeit sogar nur 1.22.x ;)

Und bei Ubuntu:
https://packages.ubuntu.com/noble/nginx

Scheint also auch von Ubuntu weiter supportet zu werden.
 
Ich nutze vor allem für meine Zwecke nun immer die gleiche Version auf einem möglichen Reverse Proxy und eigentlichem Host.

https://www.c-rieger.de/nextcloud-installationsanleitung/#c01

Beschreibt eine Nextcloudinstallation und fast ganz oben fügt er ein custom repo für nginx ein, was aktuellere Versionen beinhaltet, als das was z.B. Ubuntu oder Debian gerade ausliefern.

Teilweise muss die nginx-Config aber überarbeitet werden, wenn man Web(server)projekte aufzieht, die für frühere nginx-Versionen gedacht waren.
 
Achso, dann wird anstatt die aktuelle Version zu nutzen einfach die alte weiter entwickelt von den Mitarbeitern von Ubuntu (1.24) bzw. Debian (1.22). Sehr interessant.
 
Avenger84 schrieb:
einfach die alte weiter entwickelt
vom Wording - nein!
Eben nicht - dafür gibts ja die Mainversionen - es werden "einfach "Fixxe des Mainreleases auf diesen Zwieg "zurückportiert"
 
Zuletzt bearbeitet: (Typofix)
Hab mal die 1.25.5 installiert - keine gute Idee, nix geht mehr.
Besser die Finger von lassen.
 
Es wird geprüft, ob die alte Version die Sicherheitslücke auch hat bzw. von betroffen ist und dann ein Patch der Aktuellen so genannt backported. Also entsprechend dem ggf. etwas anderen Code der älteren Version wird teilweise sogar ein Patch neugeschrieben.

Das siehst du dann an der Versionsnummer, also ob ein Patch vom Vendor in deinem Fall den nginxMachern oder Ubuntu kommt z.B. bei nginx 1.18.0-0ubuntu1.4. Die 1.18.0-0 ist die Vendorversion und die Ubuntu1.4 ist die Ubuntupatchversion. Manchmal findet man dann auch so was wie 1.18.0-0deb4-ubuntu1.3. das ist dann eben Vendor, Debian Version und dann Ubuntu Version,

Hilft dir das?
 
  • Gefällt mir
Reaktionen: Avenger84
danke

hab meine VM noch mal aufgesetzt, funktioniert auch wieder aber ich kriege den Fehler angezeigt:

nginx -t
2024/05/04 16:09:05 [warn] 2154#2154: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2024/05/04 16:09:05 [emerg] 2154#2154: cannot load certificate "/etc/letsencrypt/live/....de/fullchain.pem": BIO_new_file() failed (SSL: error:8000000D:system library::Permission denied:calling fopen(/etc/letsencrypt/live/.....de/fullchain.pem, r) error:10080002:BIO routines::system lib)
nginx: configuration file /etc/nginx/nginx.conf test failed

bin mir eigentlich sicher dass das vorhin noch nicht der Fall war, also nginx -t ohne Fehler durch lief.
hmm vielleicht irre ich mich auch und -t hatte ich nur probiert mit dem frisch installierten 1.25.5 wo dann eine blanke config (ohne Zertifikat) drin war.

Was hat es mit dem
the "user" directive makes sense only if the master process runs with super-user privileges
auf sich?

Code:
root         813  0.0  0.3  21936  7556 ?        Ss   15:42   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data    1557  0.0  0.4  23988  8560 ?        S    16:01   0:00 nginx: worker process
www-data    1558  0.0  0.4  23732  8560 ?        S    16:01   0:00 nginx: worker process
Master läuft doch als root und worker als www-data oder sehe ich das falsch?
 
Zurück
Oben