Bol vytvorený release hlavnej vetvy nginx 1.21.2, v rámci ktorého pokračuje rozvoj nových funkcií (v paralelne podporovanej stabilnej vetve 1.20 sú zapracovávané iba zmeny súvisiace s odstránením vážnych chýb a zraniteľností).
Hlavné zmeny:
- Zabezpečené blokovanie požiadaviek HTTP/1.0, ktoré zahŕňajú HTTP hlavičku „Transfer-Encoding“ (zavedená vo verzii protokolu HTTP/1.1).
- Podpora exportného súboru šifrov bola zrušená.
- Zabezpečená kompatibilita s knižnicou OpenSSL 3.0.
- Implementované odosielanie hlavičiek „Auth-SSL-Protocol“ a „Auth-SSL-Cipher“ serveru autentifikácie poštového proxy.
- V API filtrovania tela požiadavky bola povolená buffering spracovaných dát.
- Pri nahrávaní certifikátov servera bola zavedená úroveň bezpečnosti, podporovaná od OpenSSL 1.1.0, ktorá sa nastavuje prostredníctvom parametra „@SECLEVEL=N“ v direktíve ssl_ciphers.
- Odstránené zamykanie, ktoré sa prejavovalo pri vytváraní SSL-spojení na backendy v moduloch stream a gRPC.
- Riešený problém s písaním na disk tela požiadavky pri používaní HTTP/2, v prípade absencie v požiadavke hlavičky „Content-Length“.
Zároveň bol vydaný njs 0.6.2, interpretátor jazyka JavaScript pre webového servera nginx. Interpretátor njs implementuje štandardy ECMAScript a umožňuje rozšíriť možnosti nginx pri spracovaní požiadaviek pomocou skriptov v konfigurácii. Skripty môžu byť použité v konfiguračnom súbore na definovanie rozšírenej logiky spracovania požiadaviek, formulovanie konfigurácie, dynamické generovanie odpovede, modifikáciu požiadaviek/odpovedí alebo rýchle vytváranie záložiek 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(). Bola implementovaná podpora pre objekt AggregateError.
Zdroj: opennet.ru
