Az nginx 1.20.0 kiadása

Egy évnyi fejlesztés után a nagy teljesítményű HTTP szerver és többprotokollos proxyszerver nginx 1.20.0 új stabil ága került bevezetésre, amely magába foglalja az 1.19.x fő ágban felhalmozott változásokat. A jövőben az 1.20-as stabil ágban minden változás a súlyos hibák és sérülékenységek kiküszöbölésére fog vonatkozni. Hamarosan megalakul az nginx 1.21 fő ága, amelyben folytatódik az új funkciók fejlesztése. Azon hétköznapi felhasználók számára, akiknek nem feladata a harmadik féltől származó modulokkal való kompatibilitás biztosítása, javasolt a fő ág használata, amely alapján az Nginx Plus kereskedelmi termék háromhavonta kiadásra kerül.

A Netcraft márciusi jelentése szerint az nginxet az összes aktív oldal 20.15%-án használják (egy éve 19.56%, két éve 20.73%), ami ebben a kategóriában a népszerűség második helyének felel meg (az Apache részesedése 25.38%-nak felel meg (egy éve 27.64%), Google - 10.09%, Cloudflare - 8.51%. Ugyanakkor az összes webhelyet figyelembe véve az nginx megőrzi vezető szerepét, és a piac 35.34%-át foglalja el (egy évvel ezelőtt 36.91%, két éve - 27.52%, míg az Apache részesedése 25.98%, az OpenResty ( nginx és LuaJIT alapú platform.) - 6.55%, a Microsoft IIS - 5.96%.

A világ egymillió leglátogatottabb oldala között az nginx részesedése 25.55% (egy évvel ezelőtt 25.54%, két éve 26.22%). Jelenleg körülbelül 419 millió webhelyen fut az Nginx (egy évvel ezelőtt 459 millió). A W3Techs szerint az nginxet az egymillió leglátogatottabb oldal 33.7%-án használják, tavaly áprilisban ez az arány 31.9%, tavalyelőtt 41.8% volt (a csökkenést a Cloudflare http külön könyvelésére való átállás magyarázza szerver). Az Apache részesedése az év során 39.5%-ról 34%-ra, a Microsoft IIS részesedése pedig 8.3%-ról 7%-ra esett. A LiteSpeed ​​részesedése 6.3%-ról 8.4%-ra, a Node.js 0.8%-ról 1.2%-ra nőtt. Oroszországban az nginxet a leglátogatottabb oldalak 79.1% -án használják (egy évvel ezelőtt - 78.9%).

A legfigyelemreméltóbb fejlesztések az 1.19.x upstream ág fejlesztése során:

  • Az OCSP (Online Certificate Status Protocol) protokollon alapuló külső szolgáltatások segítségével lehetővé tette az ügyféltanúsítványok ellenőrzését. Az ellenőrzés engedélyezéséhez javasolt az ssl_ocsp direktíva, a gyorsítótár méretének konfigurálása - ssl_ocsp_cache, a tanúsítványban megadott OCSP-kezelő URL-címének újradefiniálása - ssl_ocsp_responder.
  • Tartalmazza az ngx_stream_set_module modult, amely lehetővé teszi, hogy értéket rendeljen a változó szerverhez { listen 12345; állítsa be $igaz 1; }
  • A proxy_cookie_flags direktíva hozzáadva a cookie-k jelzőinek megadásához a proxykapcsolatokban. Például a „httponly” jelző hozzáadásához az „one” cookie-hoz, valamint a „nosecure” és „samesite=strict” jelzőkhöz az összes többi Cookie-hoz a következő konstrukciót használhatja: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Hasonló userid_flags direktíva a jelzők Cookie-khoz való hozzáadásához az ngx_http_userid modulhoz is implementálva van.

  • Hozzáadott „ssl_conf_command”, „proxy_ssl_conf_command”, „grpc_ssl_conf_command” és „uwsgi_ssl_conf_command” direktívák, amelyekkel tetszőleges paramétereket állíthat be az OpenSSL konfigurálásához. Például a ChaCha titkosítások és a TLSv1.3 titkosítások speciális konfigurálása érdekében megadhatja az ssl_conf_command Options PrioritizeChaCha paramétert; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Hozzáadott "ssl_reject_handshake" direktíva, amely utasítja az SSL-kapcsolatok egyeztetésére irányuló összes kísérletet (például az SNI mezőben ismeretlen gazdagépnevű hívások elutasítására használható). szerver { figyel 443 ssl; ssl_reject_handshake on; } szerver { figyelj 443 ssl; szerver_neve example.com; ssl_tanúsítvány example.com.crt; ssl_tanúsítvány_kulcs example.com.key; }
  • A proxy_smtp_auth direktíva hozzáadásra került a levelezési proxyhoz, amely lehetővé teszi a felhasználó hitelesítését a háttérben az AUTH paranccsal és a PLAIN SASL mechanizmussal.
  • Hozzáadtuk a "keepalive_time" direktívát, amely korlátozza az egyes Keep-alive kapcsolatok teljes élettartamát, ami után a kapcsolat le lesz zárva (nem tévesztendő össze a keepalive_timeout paraméterrel, amely azt az inaktivitási időt határozza meg, amely után az életben tartó kapcsolat bezárul).
  • Hozzáadott $connection_time változó, amelyen keresztül ezredmásodperces pontossággal tájékozódhat a kapcsolat időtartamáról másodpercben.
  • A „proxy_cache_path”, „fastcgi_cache_path”, „scgi_cache_path” és „uwsgi_cache_path” direktívákhoz egy „min_free” paraméter került, amely a szabad lemezterület minimális méretének meghatározása alapján szabályozza a gyorsítótár méretét.
  • A „lingering_close”, „lingering_time” és „lingering_timeout” direktívákat a HTTP/2-vel való együttműködésre adaptáltuk.
  • A HTTP/2 kapcsolatfeldolgozó kódja közel áll a HTTP/1.x megvalósításhoz. A „http2_recv_timeout”, „http2_idle_timeout” és „http2_max_requests” egyedi beállítások támogatása megszűnt, a „keepalive_timeout” és a „keepalive_requests” általános irányelvek helyett. A „http2_max_field_size” és „http2_max_header_size” beállításokat eltávolítottuk, és helyette a „large_client_header_buffers”-t kell használni.
  • Hozzáadott egy új „-e” parancssori opció, amely lehetővé teszi egy alternatív fájl megadását a hibanapló írásához, amely a beállításokban megadott napló helyett kerül felhasználásra. A fájlnév helyett megadhatja az stderr speciális értéket.

Forrás: opennet.ru

Hozzászólás