Veröffentlichung von nginx 1.25.3, njs 0.8.2 und NGINX Unit 1.31.1

Die Veröffentlichung des Hauptzweigs nginx 1.25.3 wurde erstellt, in dessen Rahmen die Entwicklung neuer Funktionen fortgesetzt wird. Im parallel unterstĂŒtzten stabilen Zweig 1.24.x werden nur Änderungen bezĂŒglich schwerwiegender Fehler und SicherheitsanfĂ€lligkeiten vorgenommen. ZukĂŒnftig wird auf der Basis des Hauptzweigs 1.25.x ein stabiler Zweig 1.26 gebildet. Der Projektcode ist in der Programmiersprache C geschrieben und wird unter der BSD-Lizenz verbreitet.

Unter den Änderungen:

  • Der Schutz vor anormalen AktivitĂ€ten von HTTP/2-Clients wurde verstĂ€rkt, insbesondere vor DoS-Angriffen der Klasse „Rapid Reset“, bei denen eine große Anzahl sofort zurĂŒckgesetzter Streams innerhalb einer einzigen HTTP/2-Verbindung erzeugt wird. In der Standardkonfiguration stoßen solche Angriffe auf das Limit der „keepalive_requests“ (nach jeweils 1000 Anfragen wird die Verbindung zurĂŒckgesetzt) und auf die „limit_req“-EinschrĂ€nkungen. Um schneller auf Anfragenfluten ĂŒber viele Streams zu reagieren, wurde eine zusĂ€tzliche BeschrĂ€nkung eingefĂŒhrt, die es standardmĂ€ĂŸig nicht erlaubt, mehr als 256 (2 * max_concurrent_streams) neue Streams pro Ereignisverarbeitungsschleife zu erstellen. Diese neue BeschrĂ€nkung ermöglicht es, Anfragen zu blockieren, bevor das Gesamtlimit der gleichzeitigen Streams erreicht wird, zum Beispiel wenn die Streams asynchron verarbeitet oder zurĂŒckgesetzt werden. Eine Ă€hnliche Änderung wurde auch in die Veröffentlichung von angie 1.3.1 (Fork von nginx) aufgenommen, die vor einer Woche veröffentlicht wurde.
  • Die Verwaltung der Buffer, die bei der automatischen Bestimmung von HTTP/2-Verbindungen verwendet werden, wurde verbessert.
  • Die Leistung beim Starten von Konfigurationen mit einer großen Anzahl von „location“-Direktiven wurde erhöht.
  • Ein Absturz des Arbeitsprozesses wurde behoben, der beim Versuch auftrat, HTTP/2 ohne SSL.
  • Eine fehlerhafte Verarbeitung des vom Backend zurĂŒckgegebenen Headers „Status“ mit leerem erlĂ€uterndem Text wurde behoben.
  • Ein Speicherleck wĂ€hrend der Neukonfiguration wurde behoben, das beim Kompilieren mit der PCRE2-Bibliothek auftrat.
  • Eine große Anzahl von Korrekturen und Verbesserungen zur UnterstĂŒtzung des HTTP/3-Protokolls wurde vorgenommen.

Gleichzeitig wurde njs 0.8.2 veröffentlicht, ein Interpreter fĂŒr die Programmiersprache JavaScript fĂŒr Webserver. nginx. Der njs-Interpreter implementiert die ECMAScript-Standards und ermöglicht es, die Möglichkeiten von nginx zur Verarbeitung von Anfragen durch Skripte in der Konfiguration zu erweitern. Skripte können in der Konfigurationsdatei verwendet werden, um erweiterte Logik zur Verarbeitung von Anfragen zu definieren, die Konfiguration zu gestalten, dynamisch Antworten zu generieren, Anfragen/Antworten zu modifizieren oder schnell Platzhalter zur Lösung von Problemen in Webanwendungen zu erstellen. In der neuen Version wurde das Objekt console hinzugefĂŒgt, das die Methoden error(), info(), log(), time(), timeEnd() und warn() bereitstellt. Im fs-Modul wurde die Methode fs.existsSync() hinzugefĂŒgt.

Ebenfalls hervorzuheben ist die Veröffentlichung des Anwendungsservers NGINX Unit 1.31.1, der eine Lösung zur AusfĂŒhrung von Webanwendungen in verschiedenen Programmiersprachen (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js und Java) bietet. Unter der Verwaltung von NGINX Unit können gleichzeitig mehrere Anwendungen in verschiedenen Programmiersprachen ausgefĂŒhrt werden, deren Startparameter dynamisch ohne Bearbeitung der Konfigurationsdateien und Neustart geĂ€ndert werden können. Neben der Fehlerbehebung ermöglicht die neue Version im Wasm-Modul den Upload von Daten mit einer GrĂ¶ĂŸe von mehr als 4 GB, wĂ€hrend bei Antworten die Möglichkeit besteht, HTTP-Statuscodes zu setzen.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster