Uitgave van nginx 1.26.0 met ondersteuning voor HTTP/3

Na een jaar van ontwikkeling is de nieuwe stabiele versie van de hoogpresterende HTTP-server en meertalige proxyserver nginx 1.26.0 vrijgegeven, die de wijzigingen uit de belangrijkste versie 1.25.x heeft samengevoegd. In de toekomst zullen alle wijzigingen in de stabiele versie 1.26 gericht zijn op het verhelpen van ernstige fouten en kwetsbaarheden. Binnenkort zal de hoofdtak nginx 1.27 worden gevormd, waarin de ontwikkeling van nieuwe mogelijkheden zal worden voortgezet. Voor gewone gebruikers die geen compatibiliteit met externe modules hoeven te waarborgen, wordt aangeraden de hoofdtak te gebruiken, waarop elke drie maanden commerciële productreleases van Nginx Plus zijn gebaseerd.

Volgens het maartrapport van Netcraft draaien er ongeveer 243 miljoen websites op nginx (een jaar geleden 289 miljoen). Nginx wordt gebruikt op 18,15% van alle actieve websites (een jaar geleden 18,94%, twee jaar geleden 20,08%), wat overeenkomt met de tweede plaats qua populariteit in deze categorie (Apache heeft een marktaandeel van 20,09% (een jaar geleden 20,52%, twee jaar geleden 22,58%), Cloudflare — 14,12% (11,32%, 10,42%), Google — 10,41% (9,89%, 8,89%). Bij de beschouwing van alle websites behoudt nginx de leiding met 22,31% van de markt (een jaar geleden 25,94%, twee jaar geleden 31,13%), terwijl het marktaandeel van Apache 20,17% bedraagt (20,58%, 23,08%), Cloudflare — 11,24% (10,17%, 5,49%), OpenResty (platform gebaseerd op nginx en LuaJIT) — 7,93% (7,94%, 8,01%).

Van de miljoen meest bezochte websites ter wereld heeft nginx een aandeel van 20,63% (een jaar geleden 21,37%, twee jaar geleden 21,79%), Cloudflare — 22,59% (een jaar geleden 21,62%), Apache httpd — 20,09% (21,18%). Volgens W3Techs wordt nginx gebruikt op 34,3% van de miljoen meest bezochte websites, terwijl dit percentage in april vorig jaar 34,5% was en het jaar daarvoor 33,1%. Het aandeel van Apache is het afgelopen jaar gedaald van 32,2% naar 30,1%, terwijl het aandeel van Microsoft IIS is gedaald van 5,6% naar 4,8%. Het aandeel van Node.js is gestegen van 2,4% naar 3,2%, en het aandeel van LiteSpeed is gestegen van 11,8% naar 12,9%.

De meest opmerkelijke verbeteringen die zijn toegevoegd in het proces van de vorming van de hoofdtak 1.25.x:

  • Module ngx_http_v3 is added with experimental support for the HTTP/3 protocol. The option "--with-http_v3_module" is provided for building the module. HTTP/3 defines the use of the QUIC (Quick UDP Internet Connections) protocol as the transport for HTTP/2. QUIC is built on top of the UDP protocol, supporting multiplexing multiple connections and providing encryption methods equivalent to TLS/SSL. The protocol was created in 2013 by Google as an alternative to the TCP+TLS combination for the web, addressing issues with long connection setup times and negotiation in TCP, and eliminating delays caused by packet loss during data transmission.
  • A separate directive "http2" has been added for selectively enabling the HTTP/2 protocol tied to servers (can be used in individual "server" blocks). The "http2" parameter in the "listen" directive is deprecated.
  • Protection against anomalous HTTP/2 client activity has been strengthened, particularly against "Rapid Reset" class DoS attacks, which create a large number of immediately reset streams within a single HTTP/2 connection. In the default configuration, such attacks are limited by the "keepalive_requests" connection request limit (the connection will be reset after every 1000 requests) and the "limit_req" restrictions. To respond earlier to request flooding through a large number of streams, an additional limitation has been added, preventing the creation of more than 256 (2 * max_concurrent_streams) new streams per event processing cycle by default. This new restriction allows starting to block requests before reaching the overall limit on the number of concurrent streams, for example, when streams are processed asynchronously or reset.
  • Ondersteuning voor de stream-module is toegevoegd virtuele servers, waarbij de configuratie wordt gedefinieerd in het blok "server { ... }" met behulp van de directive server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • A new module ngx_stream_pass_module has been added, designed to pass received connections directly to any listening socket associated with modules such as http, stream, and mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
  • In de listen-directive van de stream-module is ondersteuning geïmplementeerd voor de parameters "deferred" (inschakelen van uitgestelde acceptatie), "accept_filter" (filter voor inkomende verbindingen dat wordt toegepast vóór het aanroepen van de accept-functie) en "setfib" (instelling van de routeringstabel).
  • Voor sommige architecturen is ondersteuning toegevoegd voor het definiëren van de blokgrootte (cache line) die wordt gebruikt voor de gegevensoverdracht tussen de CPU-cache en het geheugen.
  • Buffer management used for the automatic detection of HTTP/2 connections has been improved.
  • The performance of launching configurations with a large number of "location" directives has been increased.
  • Support for Server push technology in HTTP/2 has been removed.
  • De ondersteuning voor de ‘ssl’-directieve, die eerder als verouderd was verklaard, is stopgezet.

De stabiele release van het FreeNginx-project 1.26.0, een fork van Nginx, werd twee weken geleden gepubliceerd. De ontwikkeling van de fork wordt geleid door Maxim Dunin, een van de belangrijkste ontwikkelaars van Nginx. FreeNginx positioneert zich als een non-profitproject dat de ontwikkeling van de codebasis van Nginx zonder bedrijfsmatige inmenging waarborgt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster