Pas një vit zhvillimi, u publikua dega e re stabile e serverit me performancë të lartë HTTP dhe proxy serverit multi-protokoll nginx 1.28.0, e cila përfshin ndryshimet e grumbulluara në degën kryesore 1.27.x. Në të ardhmen, të gjitha ndryshimet në degën stabile 1.28 do të jenë të lidhura me eliminimin e gabimeve serioze dhe vulnerabiliteteve. Së shpejti do të formohet dega kryesore nginx 1.29, në të cilën do të vazhdojë zhvillimi i mundësive të reja. Për përdoruesit e zakonshëm, të cilët nuk kanë detyrë të sigurojnë përputhshmërinë me modulet e jashtme, rekomandohet përdorimi i degës kryesore, mbi të cilën çdo tre muaj formohen lëshime të produktit komercial Nginx Plus.
Sipas raportit tĂ« marsit nga kompania Netcraft, rreth 245 milion faqe interneti punojnĂ« nĂ«n nginx (njĂ« vit mĂ« parĂ« 243 milion, dy vjet mĂ« parĂ« 289 milion). Nginx pĂ«rdoret nĂ« 17.89% tĂ« tĂ« gjitha faqeve aktive (njĂ« vit mĂ« parĂ« 18.15%, dy vjet mĂ« parĂ« 18.94%), qĂ« pĂ«rkon me vendin e parĂ« pĂ«r popullaritet nĂ« kĂ«tĂ« kategori (pjesa e Apache Ă«shtĂ« 16.03% (njĂ« vit mĂ« parĂ« 20.09%, dy vjet mĂ« parĂ« 20.52%), Cloudflare â 17.81% (14.12%, 11.32%), Google â 9.89% (10.41%, 9.89%).
Duke shqyrtuar tĂ« gjitha faqet, nginx mban liderĂ«sinĂ« dhe zĂ« 20.48% tĂ« tregut (njĂ« vit mĂ« parĂ« 22.31%, dy vjet mĂ« parĂ« â 25.94%), ndĂ«rsa pjesa e Apache Ă«shtĂ« 16.03% (20.17%, 20.58%), Cloudflare â 12.87% (11.24%, 10.17%), OpenResty (platformĂ« e bazuar nĂ« nginx dhe LuaJIT) â 9.36% (7.93%, 7.94%).
Mes njĂ« milion faqeve mĂ« tĂ« vizituara nĂ« botĂ«, nginx zĂ« vendin e dytĂ« me pjesĂ«n 20.37% (njĂ« vit mĂ« parĂ« 20.63%, dy vjet mĂ« parĂ« 21.37%). Vendin e parĂ« e mban Cloudflare â 22.32% (njĂ« vit mĂ« parĂ« 22.59%, dy vjet mĂ« parĂ« 21.62%). Pjesa e Apache httpd â 17.95% (20.09%, 21.18%).
Sipas tĂ« dhĂ«nave nga W3Techs, nginx pĂ«rdoret nĂ« 33.8% tĂ« faqeve nga miliona mĂ« tĂ« vizituarat (nĂ« prillin e vitit tĂ« kaluar, ky tregues ishte 34.3%, nĂ« vitin e mĂ«parshĂ«m â 34.5%). Pjesa e Apache ra nga 30.1% nĂ« 26.3% gjatĂ« njĂ« viti, ndĂ«rsa pjesa e Microsoft IIS ra nga 5% nĂ« 4%. Pjesa e Node.js u rrit nga 3.2% nĂ« 4.4%, dhe pjesa e LiteSpeed nga 12.9% nĂ« 14.6%.
Përmirësimet më të dukshme, të shtuara gjatë formimit të degës kryesore 1.27.x:
- Për lidhjet që përdorin protokollin QUIC, është shtuar mbështetje për algoritmin e menaxhimit të mbingarkesës CUBIC (RFC 9438), i cili funksionon duke rritur gradualisht madhësinë e dritares së mbingarkesës deri në shfaqjen e humbjes së paketave, pas së cilës madhësia e dritares kthyehet në vlerën para humbjes. Në testet e realizuara, përdorimi i CUBIC ka lejuar reduktimin e kohës së transferimit të një skedari me madhësi 500 MB me 24% me vonesa 40 ms dhe BDP 750K (Bandwidth Delay Product) dhe me 73% me vonesa 100 ms dhe BDP 9M.
- Në modulit stream është shtuar mbështetje për kontrollin e revokimit të certifikatave të klientëve, duke përdorur protokollin OCSP (Online Certificate Status Protocol).
- Në modulit stream është implementuar mbështetje për teknikat e verifikimit të revokimit të certifikatave OCSP Stapling, e cila është se, gjatë negociatës së lidhjes TLS, përgjigjja OCSP e certifikuar nga autoriteti i certifikimit dërgohet nga serveri që mbështet sitin, pa pasur nevojë për një kërkesë të drejtpërdrejtë në autoritetin e certifikimit.
- Gjatë nisjes dhe përditësimit të konfigurimeve është realizuar ruajtja në cache. certifikatat SSL, çelësat dhe CRL (Certificate Revocation List).
- Shtuar mundësi për të reduktuar konsumimin e burimeve dhe për të ulur ngarkesën në CPU kur përdoret TLS në konfigurime me numër të madh blokesh server dhe lokacion. Ndryshimet e shtura lejojnë që në vend të krijimit të një konteksti të veçantë SSL për çdo bllok konfigurimi (SSL_CTX në OpenSSL), të përdoret konteksti ekzistues SSL nga blloku prind.
- Në direktivën "ssl_client_certificate" është garantuar mbështetje për certifikatat me informacion shtesë.
- Për verifikimin e certifikatave SSL të klientëve, direktiva "ssl_client_certificate" tani nuk është e detyrueshme.
- Në modulin ngx_mail_proxy_module është shtuar mbështetje për mënyrën IMAP LOGIN specifike për SmarterMail me përgjigje CAPABILITY pa etiketë.
- Në modulit ngx_http_proxy_module është shtuar direktiva "proxy_pass_trailers", e cila lejon kalimin e fushave të titujve në fund të përgjigjes nga serveri i proxy në klient.
- Në direktivën «server», e përdorur në bllokun «upstream», është shtuar mbështetja për parametrin «resolve», i cili mundëson monitorimin e ndryshimeve Adresa IP për emrin e përdorur të domenit dhe përditësimin automatik të konfigurimit të bllokut «upstream» pa pasur nevojë për rinisjen e nginx në rast të ndryshimit të adresës.
- ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« variablave nĂ« direktivat "proxy_limit_rate", "fastcgi_limit_rate", "scgi_limit_rate" dhe "uwsgi_limit_rate".
- Në direktivat «proxy_bind», «fastcgi_bind», «grpc_bind», «memcached_bind», «scgi_bind» dhe «uwsgi_bind», si edhe si adresë e klientit në modulin ngx_http_realip_module, tani lejohet specifikimi i adresave IPv6 në kllapa katrore pa numër porte.
- ĂshtĂ« shtuar direktiva «keepalive_min_timeout», e cila pĂ«rcakton kohĂ«n e skadimit, gjatĂ« sĂ« cilĂ«s nginx nuk do tĂ« mbyllĂ« lidhjen keep-alive me klientin.
- Si parazgjedhje, protokollet TLSv1 dhe TLSv1.1 janë çaktivizuar.
- Janë zgjidhur problemet me ngarkesën e gjatë të skedave të konfigurimit për shkak të ri-analizimit të të njëjtat grupe të certifikatave TLS, çelësave dhe listave të institucioneve të certifikimit. Rindërtimi i konfiguracionit është përshpejtuar duke ripërdorur objektet TLS që nuk kanë ndryshuar, siç janë certifikat, çelësat dhe CRL. Për të çaktivizuar trashëgiminë e objekteve gjatë përditësimit të konfigurimeve është shtuar direktiva "ssl_object_cache_inheritable".
- Shtohet cache për certifikatat dhe çelësat e ngarkuar duke përdorur variabla në direktivat (p.sh. «ssl_certificate /etc/ssl/$ssl_server_name.crt»). Për menaxhimin e cache-it janë shtuar direktivat «ssl_certificate_cache», «proxy_ssl_certificate_cache», «grpc_ssl_certificate_cache» dhe «uwsgi_ssl_certificate_cache». Gjatë përdorimit të këtyre direktivave mund të konfiguroni madhësinë maksimale të cache-it, kohën e skadimit të regjistrimeve dhe kohën e pastrimit të regjistrimeve të papërdorura. Për shembull: «ssl_certificate_cache max=1000 inactive=20s valid=1m;».
- ĂshtĂ« zvogĂ«luar konsumimi i memories gjatĂ« pĂ«rpunimit tĂ« kĂ«rkesave afatgjata nĂ« konfigurimet qĂ« pĂ«rdorin direktivat "gzip", "gunzip", "ssi", "sub_filter" ose "grpc_pass".
- Madhësia maksimale e ruajtjes në memorie e seancave SSL është rritur në 8192.
- ĂshtĂ« realizuar ndĂ«rtimi me bibliotekĂ«n C Musl.
- Punohet për optimizimin e performancës dhe eliminimin e gabimeve në implementimin e HTTP/3.
Shtesë mund të përmendet publikimi i lëshimit të projektit FreeNginx 1.28.0, që zhvillon fork-in Nginx. Zhvillimi i fork-ut udhëhiqet nga Maksim Dunin, një nga zhvilluesit kryesorë të Nginx. FreeNginx pozicionohet si një projekt jo-fitimprurës, qësiguron zhvillimin e bazës së kodit të Nginx pa ndërhyrje korporative. Ndër ndryshimet specifike në degën FreeNginx 1.28:
- Parametri "off" në direktivën "pid", që çaktivizon krijimin e skedarit PID.
- Kufizimi i intensitetit të regjistrimit të mesazheve në logun e gabimeve për të mbrojtur nga mbushja e logut me mesazhe standarde.
- Implementimi i parametrin multipath në direktivën listen për mbështetje të Multipath TCP.
- Mbështetje për HTTP header-in "Age" për të përcaktuar kohëzgjatjen e jetës së regjistrimeve në cache.
- Shtimi i metodave të autentifikimit XOAUTH2 dhe OAUTHBEARER në modulën mail_proxy.
Burimi: opennet.ru
