Az nginx 1.22.0 kiadása

13 hónapos fejlesztés után bemutatásra került az új stabil ága a nagy teljesítményű HTTP szervernek és a többprotokollos proxy szervernek, az nginx 1.22.0-nak, amely összegyűjtötte az 1.21.x főágban felhalmozódott változásokat. A jövőben minden változtatás az 1.22 stabil ágon a súlyos hibák és sebezhetőségek kijavítására összpontosít. Hamarosan meg fogják alakítani az nginx 1.23 főágát, ahol az új lehetőségek fejlesztése fog folytatódni. Az átlagos felhasználók, akik nem céljaik között említik a harmadik féltől származó modulokkal való kompatibilitást, számára azt javasolják, hogy az alapágat használják, amelyen háromhavonta komolyabb termékkiadások készülnek az Nginx Plusból.

A Netcraft áprilisi jelentése szerint az nginx-a aktív weboldalak 20.08%-án használják (egy évvel ezelőtt 20.15%, két évvel ezelőtt 19.56%), ami a második helyet jelenti a népszerűségének ezen a területen (az Apache részesedése 22.58% (egy évvel ezelőtt 25.38%), a Cloudflare — 10.42% (8.51%), a Google — 8.89% (10.09%). Ezáltal, ha az összes weboldalt megvizsgáljuk, az nginx továbbra is vezető szerepet tölt be, és 31.13%-on áll (egy évvel ezelőtt 35.34%, két évvel ezelőtt — 36.91%), míg az Apache részesedése 23.08% (25.98%), az OpenResty (az nginx és a LuaJIT alapú platform) — 8.01% (6.55%), a Cloudflare — 5.49%, a Microsoft IIS pedig 4% (5.96%).

A világ leglátogatottabb millió weboldala közül az nginx részesedése 21.79% (egy évvel ezelőtt 23.06%, két évvel ezelőtt 25.54%). Jelenleg körülbelül 361 millió weboldal működik nginx alatt (egy évvel ezelőtt 419 millió). A W3Techs adatai szerint az nginx a leglátogatottabb weboldalak 33.5%-án található, míg tavaly májusban ez az arány 33.8%, a tavalyelőttin pedig 31.9% volt. Az Apache részesedése egy év alatt 33.8%-ról 31.5%-ra csökkent, míg a Microsoft IIS-é 7%-ról 6%-ra. A LiteSpeed részesedése 8.5%-ról 12.1%-ra nőtt, míg a Node.js 1.2%-ról 1.9%-ra.

A legszembetűnőbb fejlesztések, amelyek az 1.21.x főág kialakítása során kerültek bevezetésre:

  • A „proxy_ssl_certificate”, „proxy_ssl_certificate_key”, „grpc_ssl_certificate”, „grpc_ssl_certificate_key”, „uwsgi_ssl_certificate” és „uwsgi_ssl_certificate_key” direktívákban hozzáadva lett a változók támogatása.
  • A postai proxy modulhoz hozzáadva a "pipelining" mód támogatása, amely lehetővé teszi több POP3 vagy IMAP kérés átvitelét egyetlen kapcsolatban, valamint bevezetésre került az "max_errors" új direktíva, amely meghatározza a protokoll hibák maximális számát, amely után a kapcsolat megszakad.
  • Megvalósult az "Auth-SSL-Protocol" és "Auth-SSL-Cipher" fejléc átvitele. szerverhez a postai proxy autentikálásához.
  • A stream modulhoz hozzáadva a TLS ALPN kiterjesztés támogatása. Az ALPN protokollok (h2, http/1.1) támogatott listájának meghatározására az ssl_alpn direktíva javasolt, míg az ALPN protokollról, amelyet a klienssel egyeztettek, a $ssl_alpn_protocol változó ad információt.
  • A stream modulhoz hozzáadva a "fastopen" paraméter, amely engedélyezi a "TCP Fast Open" módot a hallgató socketek számára.
  • Beállítva a karakterek """, "", "\", "^", "`", "{", "|" és "}" escape-elése, amikor URI módosítással proxyzunk.
  • A stream modulhoz hozzáadva a proxy_half_close direktíva, amellyel beállítható a proxy kapcsolat TCP-zárási viselkedése az egyik oldalon ("TCP half-close").
  • Az ngx_http_mp4_module modulhoz hozzáadva az mp4_start_key_frame új direktíva a videó stream kibocsátásához, kezdve a kulcsképként.
  • Hozzáadva a $ssl_curve változó, amely visszaadja az elliptikus görbe típusát, amelyet a TLS kapcsolatokban a kulcsok egyeztetéséhez választottak.
  • A "sendfile_max_chunk" direktíva alapértelmezett értéke 2 megabájtjára változott.
  • Biztosítva van az OpenSSL 3.0 könyvtárral való kompatibilitás. Hozzáadva az SSL_sendfile() hívás támogatása az OpenSSL 3.0 használatakor.
  • Alapértelmezés szerint bekapcsolva a PCRE2 könyvtárral való összeszerelés, amely funkciókat biztosít reguláris kifejezések feldolgozására.
  • A tanúsítványok betöltésekor. a szerver Létrehozva a biztonsági szintek használata, amelyek támogatják az OpenSSL 1.1.0-tól kezdődően, és az "@SECLEVEL=N" paraméterrel állíthatók be az ssl_ciphers direktívában.
  • Megszüntették a kiviteli titkosítási készlet támogatását.
  • A HTTP kérés testének szűrési API-jában engedélyezve van a feldolgozott adatok pufferezése.
  • A FreeBSD platformon javult a sendfile rendszerhívás támogatása, amely a fájlleíró és a socket közötti közvetlen adatátvitelre szolgál. A sendfile(SF_NODISKIO) mód folyamatosan aktív, és hozzáadva a sendfile(SF_NOCACHE) mód támogatása.
  • Megszüntették a HTTP/2 kapcsolatok telepítésének támogatását az NPN (Next Protocol Negotiation) kiterjesztés használatával az ALPN helyett.
  • A kérés blokkolása biztosítva van, amely tartalmazza a „Transfer-Encoding” HTTP fejléceket (ez a HTTP/1.1 protokoll verziójában jelent meg).
  • Fokozott védelem az „HTTP Request Smuggling” típusú támadások ellen a frontend-backend rendszerekben, amelyek lehetővé teszik más felhasználók kérésének tartalmába való beavatkozást, amelyek ugyanabban a folyamatban kezelődnek a frontend és a backend között. Az Nginx most mindig hibát jelez, ha CONNECT módszert használunk; ha egyidejűleg megadunk „Content-Length” és „Transfer-Encoding” fejléceket; ha szóközök vagy vezérlő karakterek találhatók a kérés sorában, a HTTP fejléc nevében vagy a „Host” fejléc értékében.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster