Neue Versionen von Nginx 1.25.5 und Fork FreeNginx 1.26.0

Der Hauptzweig von Nginx 1.25.5 wurde veröffentlicht, in dem die Entwicklung neuer Funktionen fortgesetzt wird. Der parallel gepflegte stabile Zweig 1.24.x enthält nur Änderungen im Zusammenhang mit der Beseitigung schwerwiegender Fehler und Schwachstellen. Basierend auf dem Hauptzweig 1.25.x wird künftig ein stabiler Zweig 1.26 gebildet. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz vertrieben.

Zu den Änderungen gehören:

  • Dem Stream-Modul wurde Unterstützung für virtuelle Server hinzugefügt, deren Konfiguration im Block „server { ... }“ mithilfe der server_name-Direktive definiert wird. server { Servername ~^(www\.)?(.+)$; Proxy_Pass www.$2:12345; }
  • Es wurde ein neues Modul ngx_stream_pass_module hinzugefügt, das dazu dient, empfangene Verbindungen direkt an jeden Listening-Socket weiterzuleiten, der mit Modulen wie http, Stream und Mail verknüpft ist. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; übergeben Sie 127.0.0.1:8000; } }
  • Die Listen-Direktive des Stream-Moduls implementiert die Unterstützung für die Parameter „deferred“ (aktiviert verzögertes Akzeptieren), „accept_filter“ (eingehender Verbindungsfilter, der vor dem Aufruf der Accept-Funktion angewendet wird) und „setfib“ (Festlegen der Routing-Tabelle).
  • Für einige Architekturen wurde Unterstützung für die Bestimmung der Blockgröße (Cache-Zeile) implementiert, die zum Übertragen von Daten zwischen dem CPU-Cache und dem Speicher verwendet wird.
  • Auf Apple Silicon-Systemen wurde Unterstützung für den Homebrew-Paketmanager hinzugefügt.
  • Cross-Compilation-Probleme für Windows wurden behoben.
  • Es wurde ein Fehler behoben, der dazu führte, dass Verbindungen geschlossen wurden, wenn der 0-RTT-Modus im QUIC-Protokoll verwendet wurde.

Darüber hinaus können wir die Veröffentlichung einer stabilen Version des FreeNginx 1.26.0-Projekts vermerken, das einen Fork von Nginx entwickelt. Der Fork wird von Maxim Dunin entwickelt, einem der wichtigsten Nginx-Entwickler. FreeNginx ist als gemeinnütziges Projekt positioniert, das die Entwicklung der Nginx-Codebasis ohne Einmischung von Unternehmen ermöglicht. Version 1.26.0 ist als stabile Version gekennzeichnet und enthält Änderungen und Korrekturen aus den Versionen des Hauptzweigs von Nginx 1.25. FreeNginx 1.26.0 beinhaltet unter anderem experimentelle Unterstützung für das HTTP/3-Protokoll, Verbesserungen zur Abwehr von DoS-Angriffen und Korrekturen im Zusammenhang mit der asynchronen I/O-Verarbeitung.

Gleichzeitig wurde njs 0.8.4 veröffentlicht, ein JavaScript-Interpreter für den Nginx-Webserver. Der njs-Interpreter implementiert ECMAScript-Standards und ermöglicht es Ihnen, die Fähigkeit von nginx zur Verarbeitung von Anforderungen mithilfe von Skripten in der Konfiguration zu erweitern. Skripte können in einer Konfigurationsdatei verwendet werden, um erweiterte Logik für die Verarbeitung von Anfragen, die Generierung einer Konfiguration, die dynamische Generierung einer Antwort, die Änderung einer Anfrage/Antwort oder die schnelle Erstellung von Stubs zur Lösung von Problemen in Webanwendungen zu definieren. In der neuen Version: Unterstützung für die QuickJS-JavaScript-Engine wurde zur CLI hinzugefügt; Möglichkeit hinzugefügt, den Server-Header festzulegen; Es wurde eine Prüfung auf Duplikate von Variablen implementiert, die über js_set festgelegt wurden.

Source: opennet.ru

Kommentar hinzufügen