Lëshimi i nginx 1.28.0 dhe fork-ut FreeNginx 1.28.0

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

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster