Izdana je bila glavna veja nginx 1.25.3, znotraj katere se nadaljuje razvoj novih funkcij. Vzporedno vzdrževana stabilna veja 1.24.x vsebuje samo spremembe, povezane z odpravo resnih hroščev in ranljivosti. V prihodnosti bo na osnovi glavne veje 1.25.x oblikovana stabilna veja 1.26. Projektna koda je napisana v C in se distribuira pod licenco BSD.
Med spremembami:
- Zaščita pred anomalno aktivnostjo odjemalcev HTTP/2 je bila okrepljena, zlasti pred napadi DoS »Rapid Reset«, ki ustvarijo veliko število hkratnih ponastavitev pretokov znotraj ene same povezave HTTP/2. V privzeti konfiguraciji so takšni napadi omejeni z omejitvijo zahtev za povezavo »keepalive_requests« (povezava se ponastavi po vsakih 1000 zahtevah) in omejitvami »limit_req«. Za hitrejši odziv na poplave zahtev v velikem številu pretokov je bila dodana dodatna omejitev, ki privzeto preprečuje ustvarjanje več kot 256 (2 * max_concurrent_streams) novih pretokov na cikel obdelave dogodkov. Ta nova omejitev omogoča blokiranje zahtev, preden je dosežena skupna omejitev hkratnih pretokov, na primer, ko se pretoki obdelujejo asinhrono ali ponastavijo. Podobna sprememba je bila vključena tudi v izdajo Angie 1.3.1 (razcep Nginxa), objavljeno pred enim tednom.
- Izboljšano upravljanje medpomnilnikov, ki se uporabljajo pri samodejnem zaznavanju povezav HTTP/2.
- Izboljšana zmogljivost zagona konfiguracij z velikim številom direktiv o lokaciji.
- Odpravljena je bila zrušitev delovnega procesa, do katere je lahko prišlo pri poskusu uporabe HTTP/2 brez SSL.
- Odpravljena je napačna obdelava glave »Stanje«, ki jo je zaledni sistem vrnil s praznim pojasnjevalnim besedilom.
- Odpravljeno je bilo puščanje pomnilnika med rekonfiguracijo, do katerega je prišlo pri gradnji s knjižnico PCRE2.
- Uvedenih je bilo veliko popravkov in izboljšav, povezanih s podporo za protokol HTTP/3.
Hkrati je bil na voljo njs 0.8.2, interpreter JavaScripta za spletni strežnik nginx. Interpreter njs implementira standarde ECMAScript in vam omogoča razširitev zmogljivosti obdelave zahtev nginx z uporabo konfiguracijskih skriptov. Skripte je mogoče uporabiti v konfiguracijski datoteki za definiranje napredne logike obdelave zahtev, ustvarjanje konfiguracije, dinamično ustvarjanje odgovorov, spreminjanje zahtev/odgovorov ali hitro ustvarjanje zavihkov za reševanje težav v spletnih aplikacijah. Nova različica dodaja objekt konzole, ki ponuja metode error(), info(), log(), time(), timeEnd() in warn(). Metoda fs.existsSync() je bila dodana modulu fs.
Omeniti velja tudi izdajo NGINX Unit 1.31.1, rešitve za aplikacijski strežnik za zagon spletnih aplikacij v različnih programskih jezikih (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js in Java). NGINX Unit lahko hkrati zažene več aplikacij v različnih jezikih, njihove parametre zagona pa je mogoče dinamično spreminjati brez urejanja konfiguracijskih datotek ali ponovnega zagona. Poleg popravkov napak nova različica modula Wasm omogoča prenos podatkov, večjih od 4 GB, in omogoča nastavitev statusnih kod HTTP v odgovorih.
Vir: opennet.ru
