Po 13 mesiacoch vývoja uvoľnená nová stabilná pobočka Vysokovýkonný HTTP server a multiprotokolový proxy server nginx 1.22.0, ktorý zahŕňa zmeny nahromadené v hlavnej vetve 1.21.x.
V budúcnosti všetky zmeny v stabilnej vetve 1.22 budú súvisieť s ladením a vážne zraniteľnosti. Čoskoro sa vytvorí hlavná vetva nginx 1.23, v ktorej bude pokračovať vývoj nových funkcií.
Pre bežných používateľov, ktorí nemajú za úlohu zabezpečiť kompatibilitu s modulmi tretích strán, sa odporúča použiť hlavnú vetvu, na základe ktorej sa každé tri mesiace tvoria verzie komerčného produktu Nginx Plus.
Hlavné správy v nginx 1.22.0
V tejto novej verzii nginx 1.22.0, ktorá je prezentovaná, je Vylepšená ochrana pred útokmi triedy HTTP Request Smuggling vo front-end-backend systémoch, ktoré vám umožňujú prístup k obsahu požiadaviek iných používateľov spracovaných v rovnakom vlákne medzi front-endom a back-endom. Nginx teraz vždy vráti chybu pri použití metódy CONNECT; súčasným špecifikovaním hlavičiek „Content-Length“ a „Transfer-Encoding“; keď sú v reťazci dopytu medzery alebo riadiace znaky, názov hlavičky HTTP alebo hodnota hlavičky "Host".
Ďalšou novinkou, ktorá v tejto novej verzii vyniká, je tá pridaná podpora pre premenné do smerníc "proxy_ssl_certificate", "proxy_ssl_certificate_key", "grpc_ssl_certificate", "grpc_ssl_certificate_key", "uwsgi_ssl_certificate" a "uwsgi_ssl_certificate_key".
Okrem toho sa tiež poznamenáva, že bol pridaný podpora režimu „pipelining“. na odosielanie viacerých požiadaviek POP3 alebo IMAP na rovnakom pripojení do modulu proxy pošty, ako aj nová direktíva „max_errors“, ktorá určuje maximálny počet chýb protokolu, po ktorých sa spojenie uzavrie.
Hlavičky „Auth-SSL-Protocol“ a „Auth-SSL-Cipher“ sa prenášajú na overovací server proxy pošty, plus do prenosového modulu bola pridaná podpora pre rozšírenie ALPN TLS. Na určenie zoznamu podporovaných protokolov ALPN (h2, http/1.1) sa navrhuje direktíva ssl_alpn a na získanie informácií o protokole ALPN dohodnutom s klientom premenná $ssl_alpn_protocol.
Z ďalších zmien ktoré vynikajú:
- Blokovanie požiadaviek HTTP/1.0, ktoré obsahujú hlavičku HTTP „Transfer-Encoding“ (zavedené vo verzii protokolu HTTP/1.1).
- Platforma FreeBSD má vylepšenú podporu pre systémové volanie sendfile, ktoré je navrhnuté tak, aby organizovalo priamy prenos údajov medzi deskriptorom súboru a soketom. Režim sendfile(SF_NODISKIO) je trvalo povolený a bola pridaná podpora režimu sendfile(SF_NOCACHE).
- Do vysielacieho modulu bol pridaný parameter „fastopen“, ktorý umožňuje režim „TCP Fast Open“ pre odpočúvacie zásuvky.
- Opravené escapovanie znakov """, "<", "">", "\", "^", "`", "{", "|" a "}" pri použití proxy so zmenou URI.
- Do modulu streamu bola pridaná direktíva proxy_half_close, pomocou ktorej je možné nakonfigurovať správanie, keď je proxy TCP spojenie na jednej strane uzavreté ("TCP half-close").
- Do modulu ngx_http_mp4_module bola pridaná nová direktíva mp4_start_key_frame na streamovanie videa z kľúčovej snímky.
- Pridaná premenná $ssl_curve na vrátenie typu eliptickej krivky vybratej na vyjednávanie kľúča v relácii TLS.
- Direktíva sendfile_max_chunk zmenila predvolenú hodnotu na 2 megabajty;
- Podpora poskytovaná knižnicou OpenSSL 3.0. Pridaná podpora pre volanie SSL_sendfile() pri používaní OpenSSL 3.0.
- Zostavenie s knižnicou PCRE2 je štandardne povolené a poskytuje funkcie na spracovanie regulárnych výrazov.
- Pri načítavaní serverových certifikátov bolo upravené používanie úrovní zabezpečenia podporovaných od OpenSSL 1.1.0 a nastavených cez parameter "@SECLEVEL=N" v direktíve ssl_ciphers.
- Odstránená podpora exportnej šifrovacej sady.
- V rozhraní API na filtrovanie tela požiadavky je ukladanie spracovaných údajov povolené.
- Odstránená podpora pre vytváranie pripojení HTTP/2 pomocou rozšírenia NPN (Next Protocol Negotiation) namiesto ALPN.
Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.