Bola uvoľnená hlavná vetva nginx 1.21.2, v rámci ktorej pokračuje vývoj nových funkcií (v paralelne podporovanej stabilnej vetve 1.20 sa robia len zmeny súvisiace s odstránením závažných chýb a zraniteľností).
Hlavné zmeny:
- Požiadavky HTTP/1.0, ktoré obsahujú hlavičku HTTP „Transfer-Encoding“, sú blokované (zobrazené vo verzii protokolu HTTP/1.1).
- Podpora exportného šifrovacieho balíka bola ukončená.
- Je zabezpečená kompatibilita s knižnicou OpenSSL 3.0.
- Implementovaný prenos hlavičiek „Auth-SSL-Protocol“ a „Auth-SSL-Cipher“ na autentifikačný server proxy pošty.
- Rozhranie API na filtrovanie tela požiadavky umožňuje ukladanie spracovaných údajov do vyrovnávacej pamäte.
- Pri načítavaní serverových certifikátov bolo upravené používanie podporovaných úrovní zabezpečenia od OpenSSL 1.1.0 a špecifikovaných prostredníctvom parametra “@SECLEVEL=N” v direktíve ssl_ciphers.
- Opravené zamrznutia, ktoré sa vyskytli pri vytváraní pripojenia SSL k backendom v moduloch streamu a gRPC.
- Problém so zápisom tela požiadavky na disk pri použití HTTP/2 pri absencii hlavičky „Content-Length“ v požiadavke bol vyriešený.
Zároveň bol vydaný njs 0.6.2, interpret JavaScriptu pre webový server nginx. Interpret njs implementuje štandardy ECMAScript a umožňuje vám rozšíriť schopnosť nginx spracovávať požiadavky pomocou skriptov v konfigurácii. Skripty možno použiť v konfiguračnom súbore na definovanie pokročilej logiky na spracovanie požiadaviek, generovanie konfigurácie, dynamické generovanie odpovede, úpravu požiadavky/odpovede alebo rýchle vytváranie stubov na riešenie problémov vo webových aplikáciách. V novej verzii boli do implementácie Promise pridané metódy Promise.all(), Promise.allSettled(), Promise.any() a Promise.race(). Implementovaná podpora pre objekt AggregateError.
Zdroj: opennet.ru