Dita e publikimit të nginx 1.30.0 dhe forkut FreeNginx 1.30.0

Pas një vit zhvillimi, është publikuar dega e re stabile e serverit HTTP me performancë të lartë dhe serverit proxy multilateral nginx 1.30.0, e cila përmban ndryshime të akumuluara në degën kryesore 1.29.x. Në të ardhmen, të gjitha ndryshimet në degen stabile 1.30 do të përqendrohen në eliminimin e gabimeve të rënda dhe vulnerabiliteteve. Së shpejti do të formohet dega kryesore nginx 1.31, 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ë obligim për të siguruar përputhshmërinë me modulet e palëve të treta, rekomandohet të përdorin degën kryesore, mbi të cilën për çdo tre muaj formohen lëshime të produktit komercial Nginx Plus. Kodi i nginx është shkruar në gjuhën C dhe shpërndahet nën licencën BSD.

Sipas raportit tĂ« shkurtit nga kompania Netcraft, nĂ«n menaxhimin e nginx funksionojnĂ« rreth 321 milion faqe interneti (njĂ« vit mĂ« parĂ« 245 milion, dy vjet mĂ« parĂ« — 243 milion, tre vjet mĂ« parĂ« 289 milion). Nginx pĂ«rdoret nĂ« 16.08% tĂ« tĂ« gjitha faqeve aktive (njĂ« vit mĂ« parĂ« 17.89%, dy vjet mĂ« parĂ« 18.15%, tre vjet mĂ« parĂ« 18.94%), çka e rendit nĂ« vendin e dytĂ« pĂ«r popullaritet nĂ« kĂ«tĂ« kategori (pjesa e Apache Ă«shtĂ« 13.27% (njĂ« vit mĂ« parĂ« 16.03%, dy vjet mĂ« parĂ« 20.09%, tre vjet mĂ« parĂ« 20.52%), Cloudflare — 20.62% (17.81%, 14.12%, 11.32%), Google — 10.65% (9.89%, 10.41%, 9.89%).

Kur shqyrtohen tĂ« gjitha faqe interneti, nginx mban lidershipin dhe zĂ« 22.65% tĂ« tregut (njĂ« vit mĂ« parĂ« 20.48%, dy vjet mĂ« parĂ« — 22.31%, tri vjet mĂ« parĂ« — 25.94%), ndĂ«rsa pjesa e Apache Ă«shtĂ« 12.19% (16.03%, 20.17%, 20.58%), Cloudflare — 15.27% (12.87%, 11.24%, 10.17%), OpenResty (platforma e bazuar nĂ« nginx dhe LuaJIT) — 8.01% (9.36%, 7.93%, 7.94%).

Mes njĂ« milioni faqeve mĂ« tĂ« vizituara nĂ« botĂ«, nginx zĂ« vendin e dytĂ« me njĂ« pjesĂ« 19.85% (njĂ« vit mĂ« parĂ« 20.37%, dy vjet mĂ« parĂ« 20.63%, tri vjet mĂ« parĂ« 21.37%). Vendi i parĂ« mban Cloudflare — 26.84% (22.32%, 22.59%, 21.62%). Pjesa e Apache httpd — 15.84% (17.95%, 20.09%, 21.18%). Dita e publikimit tĂ« nginx 1.30.0 dhe forkut FreeNginx 1.30.0

Sipas W3Techs, nginx përdoret në 32.8% të faqeve të internetit nga milion faqet më të vizituara (në prill të vitit të kaluar ky tregues ishte 33.8%, vitin e kaluar 34.3%). Pjesa e Apache gjatë vitit ka rënë nga 26.3% në 23.9%, pjesa e Microsoft IIS ka rënë nga 4% në 3.4%, ndërsa pjesa e Caddy ka rënë nga 0.3% në 0.2%. Pjesa e Node.js është rritur nga 4.4% në 6.0%, dhe pjesa e LiteSpeed është rritur nga 14.6% në 15.2%.

Përmirësimet më të dukshme të shtuara gjatë formimit të degës kryesore 1.29.x:

  • Shtuar mbĂ«shtetje pĂ«r zgjatimin TLS ECH (Encrypted ClientHello), qĂ« vijon zhvillimin e zgjatimit ESNI (Encrypted Server Name Indication) dhe pĂ«rdoret pĂ«r tĂ« enkriptuar informacionin mbi parametrat e seancave TLS, si emri i kĂ«rkuar i domain-it. Dallimi kryesor midis ECH dhe ESNI Ă«shtĂ« se nĂ« ECH tĂ« gjithĂ« mesazhi TLS ClientHello enkriptohet nĂ« vend tĂ« enkriptimit tĂ« fushave tĂ« veçanta, çka lejon bllokimin e rrjedhjeve pĂ«rmes fushave qĂ« nuk mbulohen nga ESNI, si fusha PSK (Pre-Shared Key). PĂ«rdorimi i ECH aktivizohet pĂ«rmes specifikimit nĂ« drejtorinĂ« "ssl_ech_file" tĂ« skedarit tĂ« konfigurimit ECHConfig nĂ« formatin PEM. MbĂ«shtetja Ă«shtĂ« e disponueshme nĂ« pĂ«rdorimin e ndĂ«rtimeve tĂ« OpenSSL me ECH.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r protokollin Multipath TCP (MPTCP), qĂ« lejon dorĂ«zimin e paketave njĂ«kohĂ«sisht pĂ«rmes disa rrugĂ«ve nĂ«pĂ«rmjet interfaccave tĂ« ndryshme tĂ« rrjetit. PĂ«rfshihet parametri 'multipath' nĂ« direktivĂ«n 'listen'.
  • Shtuar mundĂ«sia pĂ«r tĂ« lidhur sesionet e klientĂ«ve nĂ« tĂ« njĂ«jtat serverĂ« brenda grupit. JanĂ« nĂ« dispozicion tri metoda: "cookie" — transmetimi i tĂ« dhĂ«nave mbi zgjedhjen pĂ«rmes Cookie; "route" — serveri i proxy-t cakton njĂ« rrugĂ« pĂ«r klientin me marrjen e kĂ«rkesĂ«s sĂ« parĂ«; "learn" — nginx analizojnĂ« pĂ«rgjigjet nga serveri upstream dhe memorizon sesionet e filluara nga serveri. PĂ«r konfigurimin e lidhjes nĂ« bllokun "upstream" tĂ« modulit "http" Ă«shtĂ« shtuar direktiva "sticky", dhe nĂ« direktivĂ«n "server" janĂ« shtuar parametrat "route" dhe "drain". serveri nĂ«pĂ«rmjet Cookie-it tĂ« shĂ«nuar; «route» — serveri proxy iu cakton njĂ« rrugĂ« klientit kur merr kĂ«rkesĂ«n e parĂ«; «learn» — nginx analizon pĂ«rgjigjet nga serveri upstream dhe memorizon seancat e nisura nga serveri. PĂ«r tĂ« konfiguruar ngjashmĂ«rinĂ«, Ă«shtĂ« shtuar direktyva «sticky» nĂ« bllokun «upstream» tĂ« modulit «http», ndĂ«rsa parametrat «route» dhe «drain» janĂ« shtuar nĂ« direktyvĂ«n «server».
  • E shtuara direktiva «early_hints» dhe Ă«shtĂ« zbatuar mbĂ«shtetje pĂ«r kodin HTTP 103 nĂ« pĂ«rgjigjet nga backend-et proxy dhe gRPC. Kodi 103 lejon qĂ« klienti tĂ« informohet pĂ«r pĂ«rmbajtjen e disa header-eve HTTP menjĂ«herĂ« pas kĂ«rkesĂ«s, pa pritur qĂ« serveri tĂ« kryejĂ« tĂ« gjitha operacionet e lidhura me kĂ«rkesĂ«n dhe tĂ« fillojĂ« dorĂ«zimin e pĂ«rmbajtjes. NĂ« kĂ«tĂ« mĂ«nyrĂ«, mund tĂ« jepen sugjerime pĂ«r elementĂ« tĂ« lidhur me faqen qĂ« po dorĂ«zohet, tĂ« cilĂ«t mund tĂ« ngarkohen paraprakisht (p.sh., mund tĂ« jepen lidhje pĂ«r CSS dhe JavaScript qĂ« pĂ«rdoren nĂ« faqe). Duke marrĂ« informacionin pĂ«r kĂ«to burime, shfletuesi fillon ngarkimin e tyre pa pritur pĂ«rfundimin e dorĂ«zimit tĂ« faqes kryesore, duke lejuar kĂ«shtu qĂ« tĂ« reduktohet koha totale e pĂ«rpunimit tĂ« kĂ«rkesĂ«s.
  • E shtuara direktivat add_header_inherit dhe add_trailer_inherit, tĂ« cilat lejojnĂ« ndryshimin e rregullave tĂ« trashĂ«gimisĂ« sĂ« vlerave tĂ« pĂ«rcaktuara nĂ« direktivat add_header dhe add_trailer. Parametri «off» anulon trashĂ«giminĂ« e vlerave, ndĂ«rsa parametri «merge» pĂ«rfshin shtimin e vlerave nga niveli i mĂ«parshĂ«m nĂ« vlerat nĂ« nivelin aktual.
  • E shtuara direktiva «ssl_certificate_compression» pĂ«r menaxhimin e kompresionit Certifikatat TLS.
  • Shtuar direktiva max_headers, qĂ« kufizon numrin maksimal tĂ« HTTP-kapakĂ«ve nĂ« kĂ«rkesĂ«. Kur kalon limitin, kthehet gabimi 400 (KĂ«rkesĂ« e Keqe). Kjo mundĂ«si Ă«shtĂ« transferuar nga FreeNginx.
  • Shtesa e variablave $request_port dhe $is_request_port. Variabla e parĂ« pĂ«rmban numrin e portit nga komponenti URI ose nga kreu "Host", ndĂ«rsa e dyta pĂ«rmban ":" nĂ«se variabla $request_port nuk Ă«shtĂ« e zbrazĂ«t.
  • Shtesa e variablave $ssl_sigalg dhe $ssl_client_sigalg, qĂ« pĂ«rmbajnĂ« emrin e algoritmit pĂ«r formimin e nĂ«nshkrimit digjital pĂ«r lidhjen TLS.
  • NĂ« direktivĂ«n "geo" Ă«shtĂ« shtuar parametri "volatile", i cili çon nĂ« çaktivizimin e ruajtjes sĂ« variablĂ«s. Lejohet pĂ«rdorimi i maskave nĂ« direktivĂ«n "include", e cila Ă«shtĂ« e specifikuar brenda bllokut "geo".
  • NĂ« bllokun "upstream" Ă«shtĂ« aktivizuar pĂ«r default direktiva "keepalive". NĂ« direktivĂ«n "keepalive", e cila pĂ«rdoret nĂ« bllokun "upstream", Ă«shtĂ« shtuar parametri "local". Kur specifikohet ky parametĂ«r, nĂ« vend tĂ« ndarjes sĂ« njĂ« lidhjeje pĂ«r serverin pĂ«rbashkues upstream, i pĂ«rmendur nĂ« blloqe tĂ« ndryshme location dhe server, pĂ«r çdo bllok mbahet njĂ« lidhje e veçantĂ« me upstream.
  • Kur pĂ«rdoret nĂ« modin proxy, pĂ«r default vendoset versioni i protokollit HTTP/1.1 me aktivizimin e modit keep-alive (nĂ« modul nga ngx_http_proxy_module mbĂ«shtetja pĂ«r keep-alive Ă«shtĂ« aktivizuar pĂ«r default dhe vlera "1.1" Ă«shtĂ« vendosur nĂ« direktivĂ«n "proxy_http_version" dhe dĂ«rgimi e krejtĂ«sisht Ă«shtĂ« ndaluar pĂ«r default pĂ«r kreun "Connection").
  • Moduli ngx_http_proxy ka Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r protokollin HTTP/2, duke lejuar pĂ«rdorimin e HTTP/2 pĂ«r komunikimin me backend-et.
  • Ofruar mundĂ«sia e ngarkimit tĂ« çelĂ«save kriptografikĂ« nga tokenĂ«t harduerikĂ«, duke pĂ«rdorur bibliotekĂ«n OpenSSL si ofrues.
  • NĂ« implementimin e protokollit QUIC Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r modin 0-RTT, e disponueshme nĂ« sistemet me OpenSSL 3.5.1 dhe lĂ«shime mĂ« tĂ« reja.
  • Shtuar mundĂ«sia e ndĂ«rtimit me bibliotekĂ«n kriptografike AWS-LC, e zhvilluar nga kompania Amazon.
  • PĂ«r default, Ă«shtĂ« çaktivizuar kompresimi i certifikatave TLSv1.3.
  • Siguruar kompatibiliteti me bibliotekĂ«n OpenSSL 4.0.

Gjithashtu, mund të përmendet publikimi i versionit të projektit FreeNginx 1.30.0, që zhvillon forkun Nginx. Zhvillimi i forkut 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ërhyrjen e korporatave. Kodi i FreeNginx vazhdon të ofrohet nën licencën BSD. Ndër ndryshimet në degën FreeNginx 1.30: është shtuar mbështetje për zgjerimin TLS ECH (Encrypted Client Hello); është përmirësuar përpunimi i direktivës limit_rate; janë shtuar direktivat send_min_rate dhe client_body_min_rate; është implementuar mundësia për të kufizuar numrin e lidhjeve dhe intensitetin e kërkesave në proksin e postës; është shtuar mbështetje për databazën GeoIP2 në modulun GeoIP; është forcuar mbrojtja e modulit XSLT.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster