Die erste Veröffentlichung des neuen Hauptzweigs nginx 1.29.0 wurde veröffentlicht, in dessen Rahmen die Entwicklung neuer Möglichkeiten fortgesetzt wird. Im parallel unterstützten stabilen Zweig 1.28.x werden nur Änderungen vorgenommen, die mit der Behebung schwerwiegender Fehler und Sicherheitsanfälligkeiten zusammenhängen. Im nächsten Jahr wird basierend auf dem Hauptzweig 1.29.x ein stabiler Zweig 1.30 gebildet. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz verteilt.
In der neuen Version:
- Die Direktive „early_hints“ wurde hinzugefügt und die Unterstützung für HTTP-Code 103 in den Antworten von Proxy- und gRPC-Backends implementiert. Der Code 103 ermöglicht es, den Client sofort nach der Anfrage über den Inhalt bestimmter HTTP-Header zu informieren, ohne darauf zu warten, bis Server alle mit der Anfrage verbundenen Operationen ausgeführt sind und der Inhalt bereitgestellt wird. Auf ähnliche Weise können Hinweise zu Elementen, die mit der bereitgestellten Seite verknüpft sind, gegeben werden, die vorab geladen werden können (z. B. können Links zu den auf der Seite verwendeten CSS- und JavaScript-Dateien angegeben werden). Nachdem der Browser Informationen über solche Ressourcen erhalten hat, beginnt er mit dem Herunterladen, ohne auf das Ende der Hauptseitenausgabe zu warten, was die Gesamtdauer der Anfragebearbeitung verkürzt.
- Es besteht die Möglichkeit, kryptografische Schlüssel aus Hardware-Token zu laden, wobei die OpenSSL-Bibliothek als Anbieter verwendet wird.
- Auf der Plattform macOS wurde die Unterstützung für den Parameter „so_keepalive“ in der Direktive „listen“ implementiert.
- Das Fehlerrisiko, das bei der Aushandlung einer Verbindung über das QUIC-Protokoll auftritt, wurde von „error“ auf „crit“ für kritische Probleme mit SSL und auf „info“ für andere Probleme mit SSL geändert.
- Bei der Erstellung der Version für Windows wurde das Windows SDK 10 eingesetzt.
- Die Probleme beim Kompilieren der Module ngx_http_v2_module und ngx_http_v3_module unter Verwendung von GCC 15 wurden behoben, ebenso wie die Probleme beim Kompilieren des Moduls ngx_http_v3_module mit den Optimierungen „-O3 -flto“ in GCC 14.
- Die Unterstützung für HTTP/3 wurde verbessert.
Quelle: opennet.ru
