Megjelent az nginx 1.26.0, amely támogatja a HTTP/3-at.

Egy év fejlesztés után megjelent a nginx 1.26.0 stabil verziója, amely egy nagy teljesítményű HTTP szerver és többprotokollos proxy szerver. Ez a verzió tartalmazza az 1.25.x főágban felhalmozott módosításokat. A jövőben minden változtatás a 1.26 stabil ágon komoly hibák és sebezhetőségek javítására összpontosít. Hamarosan létrejön a nginx 1.27 főág, ahol új lehetőségek fejlesztése folytatódik. A normál felhasználók számára, akiknek nem kell biztosítaniuk a harmadik féltől származó modulok kompatibilitását, ajánlott a főág használata, amelyre háromhavonta készülnek a Nginx Plus kereskedelmi termék kiadásai.

A Netcraft márciusi jelentése szerint körülbelül 243 millió weboldal működik nginx alatt (egy évvel ezelőtt 289 millió). Az nginx a teljes aktív weboldalak 18,15%-át használja (egy évvel ezelőtt 18,94%, két éve 20,08%), ami a második helyet jelenti ezen a területen (az Apache részesedése 20,09% (egy évvel ezelőtt 20,52%, két éve 22,58%), a Cloudflare — 14,12% (11,32%, 10,42%), a Google — 10,41% (9,89%, 8,89%). A piacon a teljes weboldalak figyelembevételével az nginx továbbra is vezető szerepet játszik, és 22,31%-ot képvisel (egy évvel ezelőtt 25,94%, két éve 31,13%), míg az Apache piaci részesedése 20,17% (20,58, 23,08%), a Cloudflare — 11,24% (10,17, 5,49%), az OpenResty (nginx és LuaJIT alapú platform) pedig 7,93% (7,94%, 8,01%).

A világ leglátogatottabb weboldalai közül az nginx részesedése 20,63% (egy évvel ezelőtt 21,37%, két éve 21,79%), a Cloudflare — 22,59% (egy évvel ezelőtt 21,62%), az Apache httpd pedig 20,09% (21,18%). A W3Techs adatai szerint az nginx a leglátogatottabb weboldalak 34,3%-án található, tavaly áprilisban ez a szám 34,5% volt, két éve pedig 33,1%. Az Apache részesedése egy év alatt 32,2%-ról 30,1%-ra csökkent, míg a Microsoft IIS részesedése 5,6%-ról 4,8%-ra esett vissza. A Node.js részesedése 2,4%-ról 3,2%-ra növekedett, míg a LiteSpeed részesedése 11,8%-ról 12,9%-ra emelkedett.

A 1.25.x főág kialakítása során hozzáadott legszembetűnőbb fejlesztések:

  • Hozzáadva az ngx_http_v3 modul, amely kísérleti támogatást nyújt a HTTP/3 protokollhoz. A modul összeszereléséhez a «—with-http_v3_module» opció szükséges. A HTTP/3 a QUIC (Quick UDP Internet Connections) protokoll használatát határozza meg, mint az HTTP/2 szállítója. A QUIC a UDP protokollra épül, és támogatja több kapcsolat multiplexelését, valamint titkosítási módszereket kínál, amelyek megfelelnek a TLS/SSL-nek. A protokollt 2013-ban a Google hozta létre a TCP+TLS alternatívájaként a webhez, megoldva a TCP-vel kapcsolatos hosszú kapcsolódási és alárendelési problémákat, és kiküszöbölve az adatátvitel során fellépő késleltetéseket a csomagok elvesztésekor.
  • Elkülönítették az „http2” utasítást a HTTP/2 protokoll célzott engedélyezésére a kiszolgálókhoz való kapcsolódás során (külön „server” blokkban használható). Az „http2” paraméter az „listen” utasításon belül elavultnak van nyilvánítva.
  • Megerősítették a védelmet a HTTP/2 anomális ügyfél aktivitásokkal szemben, különösen a "Rapid Reset" típusú DoS támadások ellen, amely során számos azonnal visszaállított áramlat jön létre egyetlen HTTP/2 kapcsolat keretein belül. Az alapértelmezett konfigurációban az ilyen támadások elérik a "keepalive_requests" kapcsolatonkénti kérdések számának limitjét (minden 1000 kérdés után a kapcsolat visszaállításra kerül), valamint a "limit_req" korlátozásokat. A kérésforgalom korai kezelésére új korlátozást vezettek be, amely alapértelmezés szerint nem engedi, hogy egy ciklus alatt 256 (2 * max_concurrent_streams) új áramlatot hozzanak létre. Az új korlátozás lehetővé teszi, hogy a kérdéseket blokkolni lehessen, mielőtt elérnék az összesített áramlatok maximális számának limitjét, például amikor az áramlatokat aszinkron módon dolgozzák fel vagy visszaállítják.
  • A stream modulban támogatás került bevezetésre virtuális szerverek, amelynek konfigurációját a „server { … }” blokkban a server_name utasítással határozzák meg. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • Hozzáadva egy új ngx_stream_pass_module modul, amely a fogadott kapcsolatokat közvetlenül bármely, az ilyen modulokkal, mint http, stream és mail, kapcsolódó hallgató socketbe irányítja. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
  • A stream modul listen utasításában megvalósult a „deferred” (késleltetett accept engedélyezése), „accept_filter” (a bejövő kapcsolatok szűrője, amelyet az accept függvény hívása előtt alkalmaznak) és a „setfib” (irányítótábla beállítása) paraméterek támogatása.
  • Bizonyos architektúrák esetében megvalósult a cache line méretének (cache line) meghatározásának támogatása, amely az CPU cache és a memória közötti adatátvitelhez szükséges.
  • Javították a HTTP/2 kapcsolatok automatikus meghatározásakor használt puffereket.
  • Növelve lett a konfigurációk indításának teljesítménye, amelyeken számos 'location' direktíva szerepel.
  • Eltávolításra került a Server push technológia támogatása a HTTP/2-ből.
  • Megszűnt az 'ssl' direktíva támogatása, amelyet korábban elavultnak nyilvánítottak.

A FreeNginx 1.26.0 stabil kiadása, amely a Nginx forkját fejleszti, két héttel ezelőtt jelent meg. A fork fejlesztését Maxim Dunin vezeti, aki a Nginx egyik kulcsfontosságú fejlesztője. A FreeNginx, mint nonprofit projekt, a Nginx kódalap fejlesztését támogatja vállalati beavatkozás nélkül.

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