Den huvudsakliga versionen av nginx 1.27.5 har slÀppts, dÀr utvecklingen av nya möjligheter fortsÀtter. Endast Àndringar relaterade till ÄtgÀrder av allvarliga fel och sÄrbarheter tillförs den parallellt stödda stabila versionen 1.26.x. I framtiden kommer en stabil version 1.28 att bildas baserat pÄ huvudversionen 1.27.x. Projektets kod Àr skriven i C och distribueras under BSD-licens.
Bland Àndringarna i nginx 1.27.5:
- För anslutningar som anvÀnder QUIC-protokollet har stöd för algoritmen CUBIC (RFC 9438) för hantering av nÀtverksöverbelastning lagts till. Denna algoritm ökar successivt storleken pÄ överbelastningsfönstret tills paketförlust intrÀffar, varefter fönsterstorleken ÄterstÀlls till vÀrdet före förlusten. I genomförda tester minskade anvÀndningen av CUBIC överföringstiden för en fil pÄ 500 MB med 24% vid fördröjningar pÄ 40 ms och BDP 750K (Bandwidth Delay Product) och med 73% vid fördröjningar pÄ 100 ms och BDP 9M.
- Den maximala storleken för hÀmtade SSL-sessioner i delat minne har ökat till 8192.
- Byggsystemet med C-biblioteket Musl har förbÀttrats.
- Arbete har utförts för att optimera prestanda och ÄtgÀrda buggar i implementeringen av HTTP/3.
- Fel i genomförandet av direktiven "grpc_ssl_password_file", "proxy_ssl_password_file" och "uwsgi_ssl_password_file" har ÄtgÀrdats, vilket uppstod vid laddning SSL-certifikat och krypteringsnycklar frÄn variabler.
- Problem med att stÀlla in variablerna $ssl_curve och $ssl_curves vid anvÀndning av anslutna implementationer av elliptiska kurvor i OpenSSL har lösts.
Dessutom kan vi notera publiceringen av stabila versioner av projektet FreeNginx 1.27.5 och 1.27.6, som utvecklar en fork av Nginx. Forken utvecklas av Maxim Dunin, en av de nyckelutvecklare inom Nginx. FreeNginx positioneras som ett icke-vinstdrivande projekt som sÀkerstÀller utvecklingen av Nginx:s kodbas utan företagsinblandning.
Ăndringar i FreeNginx 1.27.5 och 1.27.6:
- Problem vid anvÀndning av OpenSSL 3.5 har lösts (namnet pÄ gruppen X25519MLKEM768 visades inte i variablerna $ssl_curve och $ssl_curves).
- Ett kraschproblem i arbetsprocesser i konfigurationer med direktivet proxy_ssl_password_file har ÄtgÀrdats, vilket upptrÀdde vid angivande av variabler i direktiven proxy_ssl_certificate och proxy_ssl_certificate_key.
- Stödet för parametern multipath har lagts till i direktivet listen.
- à teranvÀndning av SSL-sessioner mellan servrar som anvÀnder olika certifikat i direktivet ssl_trusted_certificate har förbjudits, nÀr kontroll av klienternas SSL-certifikat Àr aktiverad.
- Ett problem med att ÄteranvÀnda sessioner i kontexten av en annan virtuell server vid anvÀndning av TLSv1.3 med OpenSSL 1.1.1e+ har lösts.
- Ett problem vid anvÀndning av zlib-ng har ÄtgÀrdats.
Dessutom har njs 0.8.10 slÀppts, en modul för att integrera JavaScript-tolkare i http-servern Nginx. Stöd för anslutning av olika JavaScript-motorer finns. Som bas erbjuds den egna motorn QuickJS med stöd för ECMAScript-specifikationen 2023. Njs gör det möjligt att anvÀnda JavaScript-skript i konfigurationen för att utöka Nginx möjligheter. Skripten kan anvÀndas för att definiera utvidgad logik för bearbetning av förfrÄgningar, bilda konfigurationer, dynamiskt generera svar, modifiera förfrÄgningar/svar eller snabbt skapa stubbar för att lösa problem i webapplikationer.
Ăndringar i njs 0.8.10:
- Stöd för WebCrypto API, TextEncoder och TextDecoder har lagts till i JavaScript-motorn QuickJS.
- Nya moduler som querystring, crypto och xml har lagts till i QuickJS-motorn.
- Stöd för QuickJS-NG-biblioteket har lagts till.
- Modulen till Nginx har implementerat lÀsning av innehÄllet i r.requestText och r.requestBuffer frÄn en tillfÀllig fil.
KĂ€lla: opennet.ru
