Megjelent az nginx 1.28.0 és a FreeNginx 1.28.0 fork

A fejlesztési év után megjelent a új stabil ága a magas teljesítményű HTTP szervernek és a több protokollt támogató proxy szervernek, az nginx 1.28.0-nak, amely magában foglalja a 1.27.x fő ágában felhalmozott változásokat. A jövőben minden módosítás az 1.28 stabil ágon a komoly hibák és sebezhetőségek kijavítására összpontosít. Hamarosan létrejön az nginx 1.29 fő ág, amelyben tovább folytatódik az új funkciók fejlesztése. A normál felhasználóknak, akiknek nincs szükségük kompatibilitásra harmadik féltől származó modulokkal, a fő ágat ajánljuk, amely alapján három havonta kiadások készülnek az Nginx Plus kereskedelmi termékhez.

A Netcraft márciusi jelentése szerint az nginx üzemeltetésével körülbelül 245 millió weboldal működik (egy évvel ezelőtt 243 millió, két évvel ezelőtt 289 millió). Az nginx a teljes aktív weboldalak 17,89%-án van jelen (egy évvel ezelőtt 18,15%, két évvel ezelőtt 18,94%), ami a kategória első helyét jelenti (az Apache részesedése 16,03% (egy évvel ezelőtt 20,09%, két évvel ezelőtt 20,52%), a Cloudflare 17,81% (14,12%, 11,32%), a Google 9,89% (10,41%, 9,89%).

Minden weboldal figyelembevételével az nginx őrzi vezető pozícióját, és 20,48%-os piaci részesedéssel rendelkezik (egy évvel ezelőtt 22,31%, két évvel ezelőtt 25,94%), míg az Apache részesedése 16,03% (20,17%, 20,58%), a Cloudflare 12,87% (11,24%, 10,17%), az OpenResty (az nginx és LuaJIT alapú platform) pedig 9,36% (7,93%, 7,94%).

A világ leglátogatottabb egymillió weboldala között az nginx a második helyet foglalja el 20,37%-os részesedéssel (egy évvel ezelőtt 20,63%, két évvel ezelőtt 21,37%). Az első helyen a Cloudflare áll 22,32%-kal (egy évvel ezelőtt 22,59%, két évvel ezelőtt 21,62%). Az Apache httpd részesedése 17,95% (20,09%, 21,18%).

A W3Techs adatai szerint az nginx-et az egymillió leglátogatottabb weboldal 33,8%-a használja (tavaly áprilisban ez a szám 34,3% volt, azelőtt pedig 34,5%). Az Apache részesedése egy év alatt 30,1%-ról 26,3%-ra csökkent, míg a Microsoft IIS részesedése 5%-ról 4%-ra esett. A Node.js részesedése 3,2%-ról 4,4%-ra nőtt, míg a LiteSpeed részesedése 12,9%-ról 14,6%-ra emelkedett.

A fő ág 1.27.x kialakítása során bekövetkezett legfigyelemreméltóbb fejlesztések:

  • A QUIC protokollt használó kapcsolatokhoz hozzáadva a CUBIC (RFC 9438) hálózati túlterhelés-vezérlési algoritmus támogatása, amelynek működése a túlterhelési ablak méretének fokozatos növelésére korlátozódik a csomagvesztés megjelenéséig, ezt követően az ablak mérete visszakerül a csomagvesztés előtti értékére. A végzett tesztek során a CUBIC használata 500 MB méretű fájl átvitelének idejét 24%-kal csökkentette 40 ms késéseknél és 750K BDP (Bandwidth Delay Product) esetén, valamint 73%-kal 100 ms késéseknél és 9M BDP-nél.
  • A stream modulhoz hozzáadva a kliensek tanúsítványainak visszavonásának ellenőrzését támogató OCSP (Online Certificate Status Protocol) protokoll.
  • A stream modulban megvalósítva az OCSP Stapling tanúsítvány-visszavonás-ellenőrzési technikájának támogatása, amely lényege, hogy a TLS-kapcsolat kialakításakor a hitelesítéssel rendelkező válasz az OCSP-től a weboldalt szolgáltató szerver által kerül átadásra, anélkül hogy közvetlen kapcsolat szükséges lenne a hitelesítő központtal.
  • A konfiguráció indításakor és frissítésekor megvalósítva a gyorsítótárazás. SSL tanúsítványok, kulcsok és CRL (Certificate Revocation List).
  • Hozzáadva a TLS erőforrás-felhasználásának csökkentésének és a CPU terhelésének mérséklésének lehetőségei, a sok server és location blokkot tartalmazó konfigurációkhoz. A hozzáadott módosítások lehetővé teszik, hogy a konfigurációs blokkhoz külön SSL kontekszus (SSL_CTX az OpenSSL-ben) létrehozása helyett a már létező SSL kontekszust használjuk a szülő blokk felől.
  • Az „ssl_client_certificate” direktívában biztosítva a kiegészítő információval rendelkező tanúsítványok támogatása.
  • Az ügyfél SSL tanúsítványok ellenőrzéséhez az „ssl_client_certificate” direktíva most nem kötelező.
  • Az ngx_mail_proxy_module modulhoz hozzáadva a SmarterMail IMAP LOGIN módjának támogatása, nem címkézett CAPABILITY válasszal.
  • Az ngx_http_proxy_module modulhoz hozzáadva a „proxy_pass_trailers” direktíva, amely lehetővé teszi a fejlécek mezőinek továbbítását a proxyzott szerver válaszának végén az ügyfélnek.
  • A „server” direktívához, amelyet az „upstream” blokkban használnak, hozzáadva a „resolve” paraméter támogatása, amely lehetővé teszi a használt domain név változásának nyomon követését. IP address az „upstream” blokk konfigurációjának automatikus frissítése érdekében, újraindítás nélkül, ha a cím megváltozik.
  • Hozzáadva a változók használatának lehetősége a „proxy_limit_rate”, „fastcgi_limit_rate”, „scgi_limit_rate” és „uwsgi_limit_rate” direktívákban.
  • A direktívákban «proxy_bind», «fastcgi_bind», «grpc_bind», «memcached_bind», «scgi_bind» és «uwsgi_bind», valamint az ngx_http_realip_module modul klienscímeként IPv6-címek adhatók meg négyzetes zárójelek között, portszám nélkül.
  • Hozzáadva a «keepalive_min_timeout» direktíva, amely meghatározza azt az időt, amely alatt a nginx nem zárja le a keep-alive kapcsolatot az ügyféllel.
  • Alapértelmezetten a TLSv1 és TLSv1.1 protokollok le vannak tiltva.
  • Megoldva a konfigurációs fájlok hosszú betöltési problémáit a TLS-tanúsítványok, kulcsok és hitelesítő hatósági listák ismételt elemzése miatt. A konfiguráció újraindítása felgyorsult a változatlan TLS-objektumok, például tanúsítványok, kulcsok és CRL újrahasználata révén. A konfiguráció frissítésekor az objektumok öröklődésének letiltására hozzáadva a «ssl_object_cache_inheritable» direktíva.
  • Hozzáadva a tanúsítványok és kulcsok gyorsítótára, amelyeket direktívákban használt változók segítségével töltenek be (például «ssl_certificate /etc/ssl/$ssl_server_name.crt»). A gyorsítótár kezelésére hozzáadva a «ssl_certificate_cache», «proxy_ssl_certificate_cache», «grpc_ssl_certificate_cache» és «uwsgi_ssl_certificate_cache» direktívák. Az említett direktívák segítségével beállítható a gyorsítótár maximális mérete, a bejegyzések lejárati ideje és az elavult bejegyzések törlésének ideje. Például: «ssl_certificate_cache max=1000 inactive=20s valid=1m;».
  • Csökkent a memóriafogyasztás a hosszú élettartamú lekérdezések feldolgozása során olyan konfigurációkban, ahol a «gzip», «gunzip», «ssi», «sub_filter» vagy «grpc_pass» direktívák használatban vannak.
  • A megosztott memória SSL munkamenetek gyorsítótárába helyezhető maximális méret 8192-re növelve.
  • A Musl C könyvtárral való fordítást javították.
  • Teljesítményoptimalizálás és hibajavítás végrehajtva a HTTP/3 megvalósításában.

Továbbá megemlíthető a FreeNginx 1.28.0 projekt kiadásának publikálása, amely az Nginx forkját fejleszti. A fork fejlesztését Makszim Dunin végzi, aki az Nginx egyik kulcsfejlesztője. A FreeNginx non-profit projektként pozicionálja magát, amely az Nginx kódalap fejlesztését biztosítja vállalati beavatkozás nélkül. A FreeNginx 1.28-as ágbeli specifikus változások közé tartozik:

  • A «pid» direktíva «off» paramétere, amely letiltja a PID-fájl létrehozását.
  • A hibaüzenetek logba írásának intenzitásának korlátozása, hogy megvédjük a logot a tipikus üzenetekkel való megtöltéstől.
  • A multipath paraméter megvalósítása a listen direktívában a Multipath TCP támogatásához.
  • A HTTP header "Age" támogatása a cache bejegyzések élettartamának meghatározásához.
  • XOAUTH2 és OAUTHBEARER hitelesítési módszerek hozzáadása a mail_proxy modulhoz.

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