Az nginx 1.22.0 új verziója már megjelent

13 hónapos fejlesztés után új stabil ág megjelent Nagy teljesítményű HTTP szerver és többprotokollú proxyszerver nginx 1.22.0, amely magába foglalja az 1.21.x főágban felhalmozott változásokat.

A jövőben, az 1.22-es stabil ág minden változása a hibakereséshez kapcsolódik és súlyos sebezhetőségek. Hamarosan megalakul az nginx 1.23 fő ága, amelyben folytatódik az új funkciók fejlesztése.

Azon hétköznapi felhasználók számára, akiknek nem feladata a harmadik féltől származó modulokkal való kompatibilitás biztosítása, javasoljuk a fő ág használatát, amely alapján az Nginx Plus kereskedelmi termék verziói háromhavonta jönnek létre.

Az nginx 1.22.0 főbb hírei

Az nginx 1.22.0 bemutatott új verziójában a Továbbfejlesztett védelem a HTTP Request Smuggling osztályú támadások ellen front-end-backend rendszerekben, amelyek lehetővé teszik más felhasználók kéréseinek tartalmához való hozzáférést, amelyek ugyanabban a szálban dolgoznak fel az előtér és a háttér között. Az Nginx mostantól mindig hibát ad vissza a CONNECT metódus használatakor; a "Content-Length" és a "Transfer-Encoding" fejlécek egyidejű megadásával; ha szóközök vagy vezérlőkarakterek vannak a lekérdezési karakterláncban, a HTTP-fejlécnévben vagy a "Host" fejlécértékben.

Egy másik újdonság, amely kiemelkedik ebben az új verzióban, az hozzáadta a változók támogatását az irányelvekhez "proxy_ssl_certificate", "proxy_ssl_certificate_key", "grpc_ssl_certificate", "grpc_ssl_certificate_key", "uwsgi_ssl_certificate" és "uwsgi_ssl_certificate_key".

Ezenkívül azt is meg kell jegyezni, hogy hozzáadták a "csővezeték" mód támogatása több POP3 vagy IMAP kérés küldése ugyanazon a kapcsolaton a levelezőproxy modulhoz, valamint egy új "max_errors" direktíva, amely meghatározza a protokollhibák maximális számát, amely után a kapcsolat megszakad.

Fejlécek Az "Auth-SSL-Protocol" és az "Auth-SSL-Cipher" átadásra kerül a levélproxy hitelesítési kiszolgálónak, plusz az ALPN TLS bővítmény támogatása hozzáadásra került az átviteli modulhoz. A támogatott ALPN-protokollok listájának (h2, http/1.1) meghatározásához az ssl_alpn direktíva javasolt, az ügyféllel egyeztetett ALPN-protokollról pedig a $ssl_alpn_protocol változó.

A többi változás közül amelyek kiemelkednek:

  • A "Transfer-Encoding" HTTP-fejlécet tartalmazó HTTP/1.0 kérések blokkolása (a HTTP/1.1 protokoll verziójában bevezetve).
  • A FreeBSD platform továbbfejlesztette a sendfile rendszerhívás támogatását, amely a fájlleíró és a socket közötti közvetlen adatátvitel megszervezésére szolgál. A sendfile(SF_NODISKIO) mód véglegesen engedélyezve van, és hozzáadásra került a sendfile(SF_NOCACHE) mód támogatása.
  • A "fastopen" paraméter hozzáadásra került az átviteli modulhoz, amely lehetővé teszi a "TCP Fast Open" módot a hallgatási socketekhez.
  • Javítva a """, "<", ">", "\", "^", "`", "{", "|" karakterek kihagyása és "}", ha proxyt használ URI-módosítással.
  • A proxy_half_close direktíva hozzáadásra került a stream modulhoz, amellyel konfigurálható az a viselkedés, amikor egy proxy TCP kapcsolat az egyik oldalon le van zárva ("TCP half-close").
  • Új mp4_start_key_frame direktíva hozzáadva az ngx_http_mp4_module modulhoz, amellyel videót streamelhet egy kulcskockából.
  • $ssl_curve változó hozzáadva a TLS-munkamenetben a kulcsegyeztetéshez kiválasztott elliptikus görbe típusának visszaadásához.
  • A sendfile_max_chunk direktíva az alapértelmezett értéket 2 megabájtra változtatta;
  • Az OpenSSL 3.0 könyvtár támogatása. Támogatás hozzáadva az SSL_sendfile() meghívásához OpenSSL 3.0 használatakor.
  • A PCRE2 könyvtárral való összeállítás alapértelmezés szerint engedélyezve van, és funkciókat biztosít a reguláris kifejezések feldolgozásához.
  • A szervertanúsítványok betöltésekor az OpenSSL 1.1.0 óta támogatott és az ssl_ciphers direktíva "@SECLEVEL=N" paraméterével beállított biztonsági szintek használata módosult.
  • Az exportálási titkosítási csomag támogatása eltávolítva.
  • A kérelem törzsszűrési API-jában megengedett a feldolgozott adatok pufferelése.
  • Eltávolítottuk a HTTP/2-kapcsolatok ALPN helyett a Next Protocol Negotiation (NPN) bővítmény használatával történő létrehozásának támogatását.

Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a részleteket A következő linken.