Nginx 1.25.3 pÔhiharude vÀljalase on moodustatud, mille raames jÀtkub uute vÔimaluste arendamine. Samal ajal toetatud stabiilses harus 1.24.x tehakse muudatusi, mis on seotud tÔsiste vigade ja haavatavuste parandamisega. Edasi arendatakse pÔhiharu 1.25.x baasil stabiilne haru 1.26. Projekti kood on kirjutatud C keeles ja jagatakse BSD litsentsi all.
Muudatuste hulgas:
- Tugevdatud kaitse HTTP/2 klientide ebanormaalse tegevuse eest, sealhulgas "Rapid Reset" klassi DoS-rĂŒnnakute vastu, kus luuakse suur hulk kohe sulgufaile ĂŒhe HTTP/2 ĂŒhenduse raames. Vaikimisi konfiguratsioonis takistavad sellised rĂŒnnakud "keepalive_requests" ĂŒhenduse pĂ€ringute piiri (iga 1000 pĂ€ringu jĂ€rel ĂŒhendus suletakse) ja "limit_req" piiranguid. Varasema reageerimise saavutamiseks rĂŒnnakutele, kus kasutatakse suurt hulka vooge, on lisatud tĂ€iendav piirang, mis takistab vaikimisi rohkem kui 256 (2 * max_concurrent_streams) uue voogude loomist iga sĂŒndmuste töötlemise tsĂŒkli jooksul. See uus piirang vĂ”imaldab alustada pĂ€ringute blokeerimist enne, kui saavutatakse kokkuvĂ”ttes voogude piirmÀÀr, nĂ€iteks siis, kui voogusid töödeldakse asĂŒnkroonselt vĂ”i need suletakse. Sarnane muudatus tehti ka angie 1.3.1 versioonis (nginx fork), mis avaldati nĂ€dal aega tagasi.
- Parandatud on puhversĂŒsteemide haldamist, mida kasutatakse HTTP/2 ĂŒhenduste automaatseks mÀÀramiseks.
- Parandatud on konfiguratsioonide kĂ€ivitamise jĂ”udlust, kus on palju âlocationâ direktiive.
- Korrigeeritud on Àkiline protsessi lÔpetamine, mis ilmnes HTTP/2 kasutamisel ilma SSL.
- Parandatud on vale tagastatava 'Status' pÀise töötlemine, millel puudub selgitav tekst.
- Eliminated memory leak during reconfiguration that occurred when built with the PCRE2 library.
- Suure hulga paranduste ja tÀiustuste sisseviimine, mis on seotud HTTP/3 protokolli toe.
Samuti ilmus njs 0.8.2, JavaScripti tĂ”lkija jaoks veebiserver nginx. njs tĂ”lkija rakendab ECMAScripti standardeid ja vĂ”imaldab nginxi funktsionaalsust laiendada konfiguratsioonis skriptide kaudu. Skripte saab kasutada konfiguratsioonifailis, et mÀÀrata soovitud taotluste töötlemise loogika, luua konfiguratsiooni, genereerida vastuseid dĂŒnaamiliselt, muuta taotluse/vastuse andmeid vĂ”i kiiresti luua stub'e, mis aitavad lahendada veebirakenduste probleeme. Uues versioonis on lisatud console objekt, mis pakub meetodeid error(), info(), log(), time(), timeEnd() ja warn(). Failimoodulisse (fs) on lisatud meetod fs.existsSync().
Samuti on vĂ€lja antud NGINX Unit 1.31.1 rakenduste serveri versioon, mis pakub lahendust veebi rakenduste kĂ€itamiseks erinevates programmeerimiskeeltes (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js ja Java). NGINX Unit all saavad erinevad rakendused töötada samal ajal, vĂ”imaldades nende kĂ€ivitamise parameetreid dĂŒnaamiliselt muuta ilma konfiguratsioonifailide muutmise ja taaskĂ€ivitamiseta. Uues versioonis on parandatud vigu ning Wasm moodulis on lubatud laadida andmeid, mille suurus ĂŒletab 4 GB, ning vastuse saamisel on vĂ”imalik mÀÀrata HTTP olekukoodid.
Allikas: opennet.ru
