UtgÄvan av nginx 1.28.0 och fork FreeNginx 1.28.0.

Efter ett Ärs utveckling har den nya stabila versionen av den högpresterande HTTP-servern och flerprotokollproxy-servern nginx 1.28.0 publicerats, som har samlat förÀndringar som samlats i huvudversionen 1.27.x. I framtiden kommer alla Àndringar i den stabila versionen 1.28 att handla om att ÄtgÀrda allvarliga fel och sÄrbarheter. Snart kommer huvudversionen nginx 1.29 att formas, 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, pÄ grundval av vilken kommersiella produkter som Nginx Plus publiceras var tredje mÄnad.

Enligt marsrapporten frĂ„n företaget Netcraft körs cirka 245 miljoner webbplatser med nginx (för ett Ă„r sedan 243 miljoner, för tvĂ„ Ă„r sedan 289 miljoner). Nginx anvĂ€nds pĂ„ 17,89 % av alla aktiva webbplatser (för ett Ă„r sedan 18,15 %, för tvĂ„ Ă„r sedan 18,94 %), vilket motsvarar första plats i popularitet inom denna kategori (andelen Apache motsvarar 16,03 % (för ett Ă„r sedan 20,09 %, för tvĂ„ Ă„r sedan 20,52 %), Cloudflare – 17,81 % (14,12 %, 11,32 %), Google – 9,89 % (10,41 %, 9,89 %).

NĂ€r man ser pĂ„ alla webbplatser behĂ„ller nginx ledarskapet och har en marknadsandel pĂ„ 20,48 % (för ett Ă„r sedan 22,31 %, för tvĂ„ Ă„r sedan – 25,94 %), medan andelen Apache motsvarar 16,03 % (20,17 %, 20,58 %), Cloudflare – 12,87 % (11,24 %, 10,17 %), OpenResty (plattform baserad pĂ„ nginx och LuaJIT) – 9,36 % (7,93 %, 7,94 %).

Bland de en miljon mest besökta webbplatserna i vĂ€rlden har nginx andra plats med en andel pĂ„ 20,37 % (för ett Ă„r sedan 20,63 %, för tvĂ„ Ă„r sedan 21,37 %). Första platsen hĂ„lls av Cloudflare – 22,32 % (för ett Ă„r sedan 22,59 %, för tvĂ„ Ă„r sedan 21,62 %). Andelen Apache httpd – 17,95 % (20,09 %, 21,18 %).

Enligt W3Techs anvÀnds nginx pÄ 33,8 % av webbplatserna bland de en miljon mest besökta (i april förra Äret var denna siffra 34,3 %, Äret innan 34,5 %). Andelen Apache har under Äret minskat frÄn 30,1 % till 26,3 %, medan andelen Microsoft IIS har minskat frÄn 5 % till 4 %. Andelen Node.js har ökat frÄn 3,2 % till 4,4 %, och andelen LiteSpeed frÄn 12,9 % till 14,6 %.

De mest mÀrkbara förbÀttringarna som lagts till under skapandet av huvudversionen 1.27.x:

  • För anslutningar som anvĂ€nder QUIC-protokollet har stöd för algoritmen CUBIC (RFC 9438) för hantering av nĂ€tverksöverbelastning lagts till. Denna algoritm ökar successivt storleken pĂ„ överbelastningsfönstret tills paketförlust intrĂ€ffar, varefter fönsterstorleken Ă„terstĂ€lls till vĂ€rdet före förlusten. I genomförda tester minskade anvĂ€ndningen av CUBIC överföringstiden för en fil pĂ„ 500 MB med 24% vid fördröjningar pĂ„ 40 ms och BDP 750K (Bandwidth Delay Product) och med 73% vid fördröjningar pĂ„ 100 ms och BDP 9M.
  • I stream-modulen har stöd för kontroll av kunders certifikatĂ„terkallande lagts till, med anvĂ€ndning av OCSP-protokollet (Online Certificate Status Protocol).
  • I stream-modulen har stöd för OCSP Stapling implementerats, vilket innebĂ€r att ett certifikatĂ„terkallande svar som har godkĂ€nts av en certifieringsmyndighet skickas av servern som hanterar webbplatsen utan att direkt kontakta certifieringsmyndigheten vid etablering av TLS-anslutningen.
  • Vid start och uppdatering av konfigurationen har caching implementerats. SSL-certifikat, av nycklar och CRL (Certificate Revocation List).
  • Möjligheter har lagts till för att minska resursförbrukningen och belastningen pĂ„ CPU:n vid anvĂ€ndning av TLS i konfigurationer med ett stort antal block av server och plats. De tillagda förĂ€ndringarna gör det möjligt att i stĂ€llet för att skapa en separat SSL-kontakt (SSL_CTX i OpenSSL) för varje konfigurationsblock anvĂ€nda den redan befintliga SSL-kontakten frĂ„n förĂ€ldern.
  • I direktivet "ssl_client_certificate" har stöd för certifikat med tillĂ€ggsinformation sĂ€kerstĂ€llts.
  • För kontroll av klientens SSL-certifikat Ă€r direktivet "ssl_client_certificate" numera inte obligatoriskt.
  • I ngx_mail_proxy_module har stöd för det specifika för SmarterMail-modet IMAP LOGIN med ett icke-taggat CAPABILITY-svar lagts till.
  • I ngx_http_proxy_module har direktivet "proxy_pass_trailers" lagts till, vilket tillĂ„ter överföring av huvudfĂ€lt i slutet av svaret frĂ„n den proxyserver som hanterar klienten.
  • I direktivet "server", som anvĂ€nds i blocket "upstream", har stöd för parametern "resolve" lagts till, vilket gör det möjligt att spĂ„ra förĂ€ndringar. IP-adresser för det anvĂ€nda domĂ€nnamnet och automatiskt uppdatera konfigurationen av "upstream"-blocket utan att behöva starta om nginx vid adresĂ€ndringar.
  • Det har lagts till möjlighet att anvĂ€nda variabler i direktiven "proxy_limit_rate", "fastcgi_limit_rate", "scgi_limit_rate" och "uwsgi_limit_rate".
  • I direktiven "proxy_bind", "fastcgi_bind", "grpc_bind", "memcached_bind", "scgi_bind" och "uwsgi_bind", samt som klientadress i modulen ngx_http_realip_module, Ă€r det tillĂ„tet att ange IPv6-adresser i hakparenteser utan portnummer.
  • Direktivet "keepalive_min_timeout" har lagts till, vilket definierar timeouten under vilken nginx inte kommer att stĂ€nga keep-alive-anslutningen med klienten.
  • Protokollen TLSv1 och TLSv1.1 Ă€r som standard inaktiverade.
  • Problem med lĂ„ngsam laddning av konfigurationsfiler pĂ„ grund av omparsing av samma uppsĂ€ttning TLS-certifikat, nycklar och certifikatlistor har Ă„tgĂ€rdats. Återladdning av konfigurationen har snabbats upp genom att Ă„teranvĂ€nda oförĂ€ndrade TLS-objekt, sĂ„som certifikat, nycklar och CRL. För att inaktivera arv av objekt vid uppdatering av konfiguration har direktivet "ssl_object_cache_inheritable" lagts till.
  • En cache för certifikat och nycklar som laddas med hjĂ€lp av variabler i direktiven (t.ex. "ssl_certificate /etc/ssl/$ssl_server_name.crt") har lagts till. För att hantera cachen har direktiven "ssl_certificate_cache", "proxy_ssl_certificate_cache", "grpc_ssl_certificate_cache" och "uwsgi_ssl_certificate_cache" lagts till. Genom de angivna direktiven kan du konfigurera maximal cachestorlek, giltighetstid för poster och tid för rensning av oanvĂ€nda poster. Till exempel: "ssl_certificate_cache max=1000 inactive=20s valid=1m;".
  • MinnesanvĂ€ndningen har minskats vid hantering av lĂ„ngvariga begĂ€rningar i konfigurationer dĂ€r direktiven "gzip", "gunzip", "ssi", "sub_filter" eller "grpc_pass" anvĂ€nds.
  • Den maximala storleken för hĂ€mtade SSL-sessioner i delat minne har ökat till 8192.
  • Byggsystemet med C-biblioteket Musl har förbĂ€ttrats.
  • Arbete har utförts för att optimera prestanda och Ă„tgĂ€rda buggar i implementeringen av HTTP/3.

Uppkomsten av frislÀppandet av projektet FreeNginx 1.28.0, en fortsÀttning pÄ Nginx, kan ocksÄ nÀmnas. Utvecklingen av forken leds av Maxim Dunin, en av nyckelutvecklarna för Nginx. FreeNginx positioneras som ett ideellt projekt som sÀkerstÀller utvecklingen av Nginx:s kodbas utan företagsinblandning. Bland de specifika Àndringarna i FreeNginx 1.28:

  • Parametern "off" i direktivet "pid" som inaktiverar skapandet av PID-filen.
  • BegrĂ€nsning av intensiteten för loggning av felmeddelanden för att skydda mot att loggen fylls med typiska meddelanden.
  • Implementeringen av parametern multipath i direktivet listen för att stödja Multipath TCP.
  • Stöd för HTTP-headern "Age" för att bestĂ€mma livslĂ€ngden för cache-poster.
  • TillĂ€gg av autentiseringsmetoderna XOAUTH2 och OAUTHBEARER i mail_proxy-modulen.

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