Megjelent az nginx 1.27.5 főágának kiadása, amelyben a új lehetőségek fejlesztése folytatódik. A párhuzamosan karbantartott stabil ág, az 1.26.x csak a súlyos hibák és sebezhetőségek javításait tartalmazza. A jövőben az 1.27.x főág alapján stabil ág fog kialakulni 1.28. A projekt kódját C nyelven írták, és BSD licenc alatt terjesztik.
Az nginx 1.27.5-ben bekövetkezett változások:
- A QUIC protokollt használó kapcsolatokhoz hozzáadva a CUBIC (RFC 9438) hálózati túlterhelés-vezérlési algoritmus támogatása, amelynek működése a túlterhelési ablak méretének fokozatos növelésére korlátozódik a csomagvesztés megjelenéséig, ezt követően az ablak mérete visszakerül a csomagvesztés előtti értékére. A végzett tesztek során a CUBIC használata 500 MB méretű fájl átvitelének idejét 24%-kal csökkentette 40 ms késéseknél és 750K BDP (Bandwidth Delay Product) esetén, valamint 73%-kal 100 ms késéseknél és 9M BDP-nél.
- A megosztott memória SSL munkamenetek gyorsítótárába helyezhető maximális méret 8192-re növelve.
- A Musl C könyvtárral való fordítást javították.
- Teljesítményoptimalizálás és hibajavítás végrehajtva a HTTP/3 megvalósításában.
- Javították a „grpc_ssl_password_file”, „proxy_ssl_password_file” és „uwsgi_ssl_password_file” direktívák megvalósításával kapcsolatos hibákat, amelyek betöltéskor jelentkeztek SSL tanúsítványok és a titkosítási kulcsok változókból való betöltésével kapcsolatban.
- Megoldották a $ssl_curve és $ssl_curves változók beállításával kapcsolatos problémákat az OpenSSL ellipszis görbék csatlakoztatható megvalósításaival kapcsolatban.
További megjegyzésként említést érdemel a FreeNginx 1.27.5 és 1.27.6 stabil verzióinak kiadása, amely az Nginx fork. A fork fejlesztését Makszim Dunyin, az Nginx egyik kulcsfontosságú fejlesztője irányítja. A FreeNginx nem üzleti projektként van pozicionálva, amely biztosítja az Nginx kód alapjának fejlesztését vállalati beavatkozás nélkül.
A FreeNginx 1.27.5 és 1.27.6-ban történt változások:
- Megoldották az OpenSSL 3.5 használatával kapcsolatos problémákat (a $ssl_curve és $ssl_curves változókban nem jelent meg az X25519MLKEM768 csoport neve).
- Kijavították a munkafolyamat váratlan leállását a proxy_ssl_password_file direktívával rendelkező konfigurációkban, amely a proxy_ssl_certificate és proxy_ssl_certificate_key direktívák változóinak megadása esetén jelentkezett.
- A listen direktívához hozzáadták a multipath paraméter támogatását.
- Megtiltották az SSL ülések megosztását a különböző tanúsítványokat használó szerverek között az ssl_trusted_certificate direktívában, amikor az ügyfél SSL tanúsítványok ellenőrzése aktív.
- Megoldották a munkamenetek újrahasználatával kapcsolatos problémát egy másik a másikra, ez egy egyszerű és gyors eljárás. Ha a projektje gyorsan növekszik, és szükségessé válik a kapacitások növelése, az könnyen megvalósítható. Emellett semmiféle technikai kérdés nem fogja zavarni – az adatközpont technikai szolgáltatása a lehető leggyorsabban megoldja az összes felmerülő problémát. a TLSv1.3 OpenSSL 1.1.1e+ támogatásával.
- Megoldották a zlib-ng használatával kapcsolatos problémát.
Továbbá megjelent az njs 0.8.10, egy modul a JavaScript nyelv értelmezők integrálására az nginx http-szerverbe. Támogatja különböző JavaScript-motorok csatlakoztatását. Alapértelmezés szerint a QuickJS motor használatát ajánljuk, amely támogatja az ECMAScript 2023 specifikációt. Az njs lehetővé teszi JavaScript-scriptek használatát a konfigurációban az nginx képességeinek kiterjesztésére. A scriptek használhatók a kérések feldolgozásának kiterjesztett logikájának meghatározására, a konfigurációk formálására, a válasz dinamikus generálására, a kérés/válasz módosítására vagy gyors helyettesítések létrehozására a webalkalmazások problémáinak megoldásához.
Változások az njs 0.8.10-ben:
- A QuickJS JavaScript-motorhoz hozzáadták a WebCrypto API, a TextEncoder és a TextDecoder támogatását.
- A QuickJS motorhoz új modulek kerültek hozzáadásra: querystring, crypto és xml.
- A QuickJS-NG könyvtár támogatása is hozzá lett adva.
- Az nginx modulban megvalósult az r.requestText és r.requestBuffer tartalmának olvasása ideiglenes fájlból.
Forrás: opennet.ru
