UtslÀppet av nginx 1.26.0 med stöd för HTTP/3

Efter ett Ärs utveckling har den nya stabila versionen av den högpresterande HTTP-servern och multiprotokollproxy-servern nginx 1.26.0 publicerats. Denna version inkluderar förÀndringar som har samlats i huvudversionen 1.25.x. Framtida Àndringar i den stabila versionen 1.26 kommer att fokusera pÄ att ÄtgÀrda allvarliga buggar och sÄrbarheter. Snart kommer den nya huvudversionen av nginx 1.27 att skapas, dÀr utvecklingen av nya funktioner kommer att fortsÀtta. För vanliga anvÀndare som inte behöver sÀkerstÀlla kompatibilitet med tredjepartsmoduler rekommenderas det att anvÀnda huvudversionen, som var tredje mÄnad ger ut nya releaser av den kommersiella produkten Nginx Plus.

Enligt Netcrafts marsrapport drivs cirka 243 miljoner webbplatser av nginx (för ett Ă„r sedan 289 miljoner). Nginx anvĂ€nds pĂ„ 18.15% av alla aktiva webbplatser (för ett Ă„r sedan 18.94%, för tvĂ„ Ă„r sedan 20.08%), vilket motsvarar andra plats i popularitet inom denna kategori (andelen för Apache Ă€r 20.09% (för ett Ă„r sedan 20.52, för tvĂ„ Ă„r sedan 22.58), Cloudflare — 14.12% (11.32%, 10.42%), Google — 10.41% (9.89%, 8.89%). NĂ€r man ser pĂ„ alla webbplatser behĂ„ller nginx sin ledning och har en marknadsandel pĂ„ 22.31% (för ett Ă„r sedan 25.94%, för tvĂ„ Ă„r sedan 31.13%), medan andelen för Apache Ă€r 20.17% (20.58, 23.08%), Cloudflare — 11.24% (10.17, 5.49%), OpenResty (plattform baserad pĂ„ nginx och LuaJIT) — 7.93% (7.94%, 8.01%).

Bland de en miljon mest besökta webbplatserna i vÀrlden utgör nginx 20,63% (för ett Är sedan 21,37%, för tvÄ Är sedan 21,79%), Cloudflare 22,59% (för ett Är sedan 21,62%), Apache httpd 20,09% (21,18%). Enligt W3Techs anvÀnds nginx pÄ 34,3% av de mest besökta webbplatserna, förra Äret var detta 34,5%, Äret innan dess 33,1%. Andelen Apache har minskat frÄn 32,2% till 30,1% under Äret, medan andelen Microsoft IIS har minskat frÄn 5,6% till 4,8%. Andelen Node.js har ökat frÄn 2,4% till 3,2%, och andelen LiteSpeed frÄn 11,8% till 12,9%.

De mest anmÀrkningsvÀrda förbÀttringarna som lagts till i processen för att skapa huvudversionen 1.25.x:

  • Modulen ngx_http_v3 har lagts till med experimentellt stöd för protokollet HTTP/3. För att bygga modulen finns alternativet «—with-http_v3_module». HTTP/3 definierar anvĂ€ndningen av protokollet QUIC (Quick UDP Internet Connections) som transport för HTTP/2. QUIC Ă€r en överbyggnad pĂ„ UDP-protokollet som stödjer multiplexering av flera anslutningar och erbjuder krypteringsmetoder som Ă€r jĂ€mförbara med TLS/SSL. Protokollet skapades 2013 av Google som ett alternativ till TCP+TLS för webben, för att lösa problem med lĂ„ng upprĂ€ttande och förhandling av anslutningar i TCP och eliminera fördröjningar vid paketförlust under datatransfer.
  • En separat direktiv «http2» har lagts till för selektiv aktivering av HTTP/2-protokollet i serverbundlingar (kan anvĂ€ndas i separata block «server»). Parametern «http2» i direktivet «listen» har avskrivits.
  • Skyddet mot anomal aktivitet hos HTTP/2-klienter har förstĂ€rkts, sĂ€rskilt mot DoS-attacker av typen «Rapid Reset», dĂ€r ett stort antal strömmar snabbt resetteras inom en enda HTTP/2-anslutning. I standardkonfigurationen begrĂ€nsas sĂ„dana attacker av grĂ€nsen för antalet förfrĂ„gningar per anslutning «keepalive_requests» (efter varje 1000 förfrĂ„gningar kommer anslutningen att resetteras) och begrĂ€nsningarna «limit_req». För att möjliggöra snabbare respons pĂ„ översvĂ€mningsförfrĂ„gningar via ett stort antal strömmar har ett ytterligare grĂ€ns lagts till, som i standardlĂ€ge förhindrar skapandet av mer Ă€n 256 (2 * max_concurrent_streams) nya strömmar per hĂ€ndelsebehandlingscykel. Den nya begrĂ€nsningen gör det möjligt att börja blockera förfrĂ„gningar innan det totala grĂ€nset för antalet samtidiga strömmar uppnĂ„s, till exempel nĂ€r strömmarna behandlas asynkront eller resetteras.
  • Stödet för modulen stream har lagts till virtuella servrar, vars konfiguration definieras i blocket «server { 
 }» med hjĂ€lp av direktivet server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • En ny modul ngx_stream_pass_module har lagts till, som Ă€r avsedd för att vidarebefordra mottagna anslutningar direkt till vilken lyssnande socket som helst kopplad till moduler som http, stream och mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
  • I direktivet listen i stream-modulen har stöd för parametrarna "deferred" (aktiverar fördröjd acceptans), "accept_filter" (filter för inkommande anslutningar som tillĂ€mpas före anropet av accept-funktionen) och "setfib" (instĂ€llning av routingtabell).
  • För vissa arkitekturer har stöd för att bestĂ€mma blockstorlek (cache line) införts, som anvĂ€nds för dataöverföring mellan CPU-cache och minne.
  • Hantera buffertarna som anvĂ€nds vid automatisk upptĂ€ckte av HTTP/2-anslutningar har förbĂ€ttrats.
  • Prestandan vid uppstart av konfigurationer med ett stort antal "location"-direktiv har ökat.
  • Stödet för Server push-teknologin i HTTP/2 har tagits bort.
  • Stödet för direktivet "ssl", som tidigare har deklarerats som förĂ„ldrat, har upphört.

Den stabila utgÄvan av projektet FreeNginx 1.26.0, en vidareutveckling av Nginx, publicerades för tvÄ veckor sedan. Forken utvecklas av Maxim Dunin, en av de nyckelutvecklare som arbetade med Nginx. FreeNginx positionerar sig som ett icke-komersiellt projekt som sÀkerstÀller utvecklingen av Nginx-kodbasen utan företagsinblandning.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster