Vydanie nginx 1.25.3, njs 0.8.2 a NGINX Unit 1.31.1

Bola vydaná hlavná vetva nginx 1.25.3, v rámci ktorej pokračuje vývoj nových funkcií. Paralelne udržiavaná stabilná vetva 1.24.x obsahuje iba zmeny súvisiace s odstránením závažných chýb a zraniteľností. V budúcnosti sa na základe hlavnej vetvy 1.25.x vytvorí stabilná vetva 1.26. Kód projektu je napísaný v jazyku C a distribuovaný pod licenciou BSD.

Medzi zmenami:

  • Posilnená bola ochrana pred anomálnou aktivitou klientov HTTP/2, najmä pred útokmi DoS typu „Rapid Reset“, ktoré vytvárajú veľký počet súčasne resetovaných streamov v rámci jedného pripojenia HTTP/2. V predvolenej konfigurácii sú takéto útoky obmedzené limitom požiadaviek na pripojenie „keepalive_requests“ (pripojenie sa resetuje po každých 1000 požiadavkách) a obmedzeniami „limit_req“. Pre rýchlejšiu reakciu na záplavy požiadaviek vo veľkom počte streamov bol pridaný ďalší limit, ktorý štandardne zabraňuje vytvoreniu viac ako 256 (2 * max_concurrent_streams) nových streamov na cyklus spracovania udalosti. Tento nový limit umožňuje blokovať požiadavky pred dosiahnutím celkového limitu súbežných streamov, napríklad keď sa streamy spracovávajú asynchrónne alebo resetujú. Podobná zmena bola zahrnutá aj vo verzii Angie 1.3.1 (fork Nginx), ktorá bola publikovaná pred týždňom.
  • Vylepšená správa vyrovnávacích pamätí používaných pri automatickej detekcii pripojení HTTP/2.
  • Vylepšený výkon spúšťania konfigurácií s veľkým počtom direktív „umiestnenia“.
  • Opravená chyba pracovného procesu, ku ktorej mohlo dôjsť pri pokuse o použitie HTTP/2 bez SSL.
  • Opravené nesprávne spracovanie hlavičky „Stav“, ktorú vrátil backend s prázdnym vysvetľujúcim textom.
  • Opravený únik pamäte počas rekonfigurácie, ku ktorému došlo pri zostavovaní s knižnicou PCRE2.
  • Bolo zavedených veľké množstvo opráv a vylepšení týkajúcich sa podpory protokolu HTTP/3.

Zároveň, njs 0.8.2, interpret JavaScriptu pre webový server nginx. Interpret njs implementuje štandardy ECMAScript a umožňuje rozšíriť možnosti spracovania požiadaviek nginx pomocou konfiguračných skriptov. Skripty je možné použiť v konfiguračnom súbore na definovanie pokročilej logiky spracovania požiadaviek, generovanie konfigurácie, dynamické generovanie odpovedí, úpravu požiadaviek/odpovedí alebo rýchle vytváranie stubov na riešenie problémov vo webových aplikáciách. Nová verzia pridáva objekt konzoly, ktorý poskytuje metódy error(), info(), log(), time(), timeEnd() a warn(). Do modulu fs bola pridaná metóda fs.existsSync().

Za zmienku stojí aj vydanie NGINX Unit 1.31.1, riešenia aplikačného servera na spúšťanie webových aplikácií v rôznych programovacích jazykoch (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js a Java). NGINX Unit dokáže súčasne spúšťať viacero aplikácií v rôznych jazykoch a ich parametre spúšťania je možné dynamicky upravovať bez nutnosti úpravy konfiguračných súborov alebo reštartu. Okrem opráv chýb umožňuje nová verzia modulu Wasm sťahovanie dát väčších ako 4 GB a nastavovanie stavových kódov HTTP v odpovediach.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster