Lëshimi i nginx 1.18.0

Pas një vit zhvillimi është paraqitur dërrasa e re stabile e serverit të HTTP me performancë të lartë dhe proxy shumëprotokolesh nginx 1.18.0, e cila inkorporoi ndryshimet e grumbulluara në degën kryesore 1.17.x. Në të ardhmen, të gjitha ndryshimet në degën stabile 1.18 do të lidhen me rregullimin e defekteve të rëndësishme dhe vulnerabiliteteve. Së shpejti do të formohet dega kryesore nginx 1.19, në të cilën do të vazhdojë zhvillimi i mundësive të reja. Përdoruesit e zakonshëm, të cilët nuk kanë nevojë të sigurojnë përputhshmërinë me module të jashtme, rekomandohet përdorin degën kryesore, mbi të cilën në një periudhë prej tre muajsh formohen lëshimet e produktit komercial Nginx Plus.

Sipas raporti i prillit i kompanisĂ« Netcraft, nginx pĂ«rdoret nĂ« 19.56% tĂ« tĂ« gjithĂ« faqeve aktive (njĂ« vit mĂ« parĂ« 20.73%, dy vjet mĂ« parĂ« 21.02%), e cila pĂ«rfaqĂ«son vendin e dytĂ« nĂ« popullaritet nĂ« kĂ«tĂ« kategori (pjesa e Apache Ă«shtĂ« 27.64%, Google — 10.03%, Microsoft IIS — 4.77%). MegjithatĂ«, kur shqyrtohen tĂ« gjitha faqet, nginx mban lidershipin dhe pĂ«rbĂ«n 36.91% tĂ« tregut (njĂ« vit mĂ« parĂ« 27.52%), ndĂ«rsa pjesa e Apache Ă«shtĂ« 24.73%, Microsoft IIS — 12.85%, Google — 3.42%.

Midis njĂ« milion faqeve mĂ« tĂ« vizituara nĂ« botĂ«, pjesa e nginx Ă«shtĂ« 25.54% (njĂ« vit mĂ« parĂ« 26.22%, dy vjet mĂ« parĂ« 23.76%). Aktualisht, rreth 459 milion faqeve funksionojnĂ« nĂ«n menaxhimin e nginx (njĂ« vit mĂ« parĂ« 397 milion). Sipas tĂ« dhĂ«nave W3Techs, nginx pĂ«rdoret nĂ« 31.9% tĂ« faqeve nga milion faqet mĂ« tĂ« vizituara, nĂ« prillin e vitit tĂ« kaluar ky tregues ishte 41.8%, dhe nĂ« vitin e kaluar 38% (rĂ«nia shpjegohet me kalimin nĂ« raportimin e veçantĂ« tĂ« serverit HTTP Cloudflare). Pjesa e Apache ka rĂ«nĂ« nga 43.6% nĂ« 38.9% brenda njĂ« viti, ndĂ«rsa pjesa e Microsoft IIS Ă«shtĂ« ulur nga 8.6% nĂ« 8.3%. NĂ« Rusi, nginx pĂ«rdoret pĂ«rdoret nĂ« 78.9% tĂ« faqeve mĂ« tĂ« vizituara (njĂ« vit mĂ« parĂ« — 81%).

Përmirësimet më të dukshme, të shtuar gjatë formimit të degës kryesore 1.17.x:

  • Shtuar direktiva limit_req_dry_run, e cila aktivizon modin e provĂ«s, nĂ« tĂ« cilin nuk aplikohet kufizimi i intensitetit tĂ« pĂ«rpunimit tĂ« kĂ«rkesave (pa kufi tĂ« normĂ«s), por vazhdon tĂ« regjistrojĂ« numrin e kĂ«rkesave qĂ« kalojnĂ« kufijtĂ« nĂ« memorien e ndarĂ«;
  • Shtuar direktiva limit_conn_dry_run, duke transferuar modulit ngx_http_limit_conn_module nĂ« njĂ« fazĂ« provuese, nĂ« tĂ« cilĂ«n numri i lidhjeve nuk Ă«shtĂ« i kufizuar, por Ă«shtĂ« i regjistruar;
  • Shtuar drejtimi "auth_delay«, e cila lejon shtimin e njĂ« vonese pĂ«r kĂ«rkesat e paautorizuara me kodin e pĂ«rgjigjes 401 pĂ«r tĂ« reduktuar intensitetin e provave tĂ« fjalĂ«kalimeve dhe mbrojtjen nga sulm, manipulimet qĂ« ndikojnĂ« nĂ« matjen e kohĂ«s sĂ« ekzekutimit tĂ« operacioneve (timing attack) kur aksesoheni nĂ« sisteme, tĂ« cilat janĂ« tĂ« kufizuara me fjalĂ«kalim, rezultati i nĂ«nkĂ«rkesĂ«s ose JWT (JSON Web Token);
  • Shtuar mbĂ«shtetje pĂ«r variablat nĂ« drejtimet "limit_rate" dhe "limit_rate_after", si dhe nĂ« drejtimet "proxy_upload_rate" dhe "proxy_download_rate" tĂ« modulit tĂ« transmetimit;
  • NĂ« drejtimin grpc_pass Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e variablit nĂ« parametrin qĂ« pĂ«rcakton adresĂ«n. NĂ«se adresa Ă«shtĂ« e specifikuar si njĂ« emĂ«r domeni, emri kĂ«rkohet midis grupeve tĂ« serverĂ«ve tĂ« pĂ«rshkruara, dhe nĂ«se nuk gjendet, pĂ«rcaktohet me anĂ« tĂ« resolver-it;
  • Variabla tĂ« reja janĂ« shtuar $proxy_protocol_server_addr dhe $proxy_protocol_server_port, qĂ« pĂ«rmbajnĂ« adresĂ«n dhe portin e serverit, tĂ« marrĂ« nga headers e protokollit PROXY;
  • NĂ« modul ngx_stream_limit_conn_module Ă«shtĂ« shtuar variabla $limit_conn_status, e cila ruan rezultatin e kufizimit tĂ« numrit tĂ« lidhjeve: PASSED, REJECTED ose REJECTED_DRY_RUN;
  • NĂ« modul ngx_http_limit_req_module Ă«shtĂ« shtuar variabla $limit_req_status, e cila ruan rezultatin e kufizimit tĂ« shpejtĂ«sisĂ« sĂ« kĂ«rkesave: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN ose REJECTED_DRY_RUN;
  • KĂ«shtu, Ă«shtĂ« siguruar ndĂ«rtimi i modulit ngx_http_postpone_filter_module;
  • Shtuar mbĂ«shtetje pĂ«r kalimin e bllokut me emĂ«r "location" duke pĂ«rdorur metodĂ«n $r->internal_redirect(), tĂ« ofruar nga interpreteri i brendshĂ«m Perl. Kjo metodĂ« tani parashikon trajtimin e URI me karaktere tĂ« koduar;
  • Kur pĂ«rdoret nĂ« bllokun e cilĂ«simeve "upstream" me direktivĂ«n "hash" pĂ«r tĂ« organizuar balancimin e ngarkesĂ«s me lidhjen e klientit me serverin, nĂ« rast se vlera e çelĂ«sit Ă«shtĂ« e zbrazĂ«t, tani aktivizohet moda e balancimin tĂ« barabartĂ« (round-robin);
  • Shtuar mbĂ«shtetje pĂ«r thirrjen e ioctl(FIONREAD), nĂ«se Ă«shtĂ« e arritshme, pĂ«r tĂ« shmangur leximin nga njĂ« lidhje tĂ« shpejtĂ« pĂ«r njĂ« kohĂ« tĂ« gjatĂ«.

Burimi: opennet.ru

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