nginx 1.18.0 kutolewa

Baada ya mwaka wa maendeleo kuwakilishwa na tawi jipya thabiti la seva ya HTTP yenye utendaji wa juu na seva mbadala ya protocol nyingi ngumu 1.18.0, ambayo ilichukua mabadiliko yaliyokusanywa ndani ya tawi kuu 1.17.x. Katika siku zijazo, mabadiliko yote katika tawi imara 1.18 yatahusiana na uondoaji wa makosa makubwa na udhaifu. Tawi kuu la nginx 1.19 litaundwa hivi karibuni, ambalo uendelezaji wa vipengele vipya utaendelea. Kwa watumiaji wa kawaida ambao hawana kazi ya kuhakikisha utangamano na moduli za watu wengine, ilipendekeza tumia tawi kuu, kwa misingi ambayo releases ya bidhaa za kibiashara Nginx Plus huundwa kila baada ya miezi mitatu.

Kwa mujibu wa Ripoti ya Aprili Netcraft nginx inatumika kwenye 19.56% ya tovuti zote zinazotumika (mwaka mmoja uliopita 20.73%, miaka miwili iliyopita 21.02%), ambayo inalingana na nafasi ya pili kwa umaarufu katika kitengo hiki (sehemu ya Apache inalingana na 27.64%, Google - 10.03%, Microsoft IIS - 4.77%) . Wakati huo huo, wakati wa kuzingatia tovuti zote, nginx huhifadhi uongozi wake na inachukua 36.91% ya soko (mwaka mmoja uliopita 27.52%), wakati sehemu ya Apache inalingana na 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Miongoni mwa tovuti milioni zilizotembelewa zaidi duniani, sehemu ya nginx ni 25.54% (mwaka mmoja uliopita 26.22%, miaka miwili iliyopita 23.76%). Hivi sasa, takriban tovuti milioni 459 zinaendesha Nginx (milioni 397 mwaka mmoja uliopita). Na kupewa W3Techs nginx inatumika kwenye 31.9% ya tovuti kati ya milioni zilizotembelewa zaidi, mnamo Aprili mwaka jana takwimu hii ilikuwa 41.8%, mwaka uliotangulia - 38% (kupungua kunaelezewa na mpito wa kutenganisha uhasibu wa seva ya Cloudflare http). Sehemu ya Apache ilishuka kwa mwaka kutoka 43.6% hadi 38.9%, na sehemu ya Microsoft IIS kutoka 8.6% hadi 8.3%. Nchini Urusi nginx hutumiwa kwa 78.9% ya tovuti zilizotembelewa zaidi (mwaka mmoja uliopita - 81%).

Maboresho mashuhuri zaidi yaliyoongezwa wakati wa ukuzaji wa tawi la 1.17.x la juu:

  • Maelekezo yameongezwa kikomo_req_ryry_run, ambayo inawasha hali ya uendeshaji wa majaribio, ambayo hakuna vikwazo vinavyotumika kwa ukubwa wa usindikaji wa ombi (bila kikomo cha kiwango), lakini inaendelea kuzingatia idadi ya maombi yanayozidi mipaka katika kumbukumbu iliyoshirikiwa;
  • Maelekezo yameongezwa kikomo_kina_kauka_kimbia, ambayo hubadilisha moduli ya ngx_http_limit_conn_module katika hali ya kukimbia ya mtihani, ambayo idadi ya viunganisho haipunguki, lakini inazingatiwa;
  • Agizo lililoongezwa"kucheleweshwa", ambayo hukuruhusu kuongeza ucheleweshaji kwa maombi ambayo hayajaidhinishwa na nambari ya majibu ya 401 ili kupunguza nguvu ya kubahatisha nywila na kulinda dhidi ya mashambulizi, kudhibiti kipimo cha muda wa utekelezaji wa shughuli (mashambulizi ya wakati) wakati wa kufikia mifumo ambayo ufikiaji ni mdogo. nenosiri, matokeo ya subquery au J.W.T. (JSON Web Token);
  • Imeongeza usaidizi wa vigeu katika maagizo ya "limit_rate" na "limit_rate_after", na pia katika maagizo ya "proxy_upload_rate" na "proxy_download_rate" ya sehemu ya mtiririko;
  • Katika maagizo grpc_pass aliongeza usaidizi wa kutumia kigezo katika kigezo kinachofafanua anwani. Ikiwa anwani imetajwa kama jina la kikoa, jina hutafutwa kati ya vikundi vilivyoelezewa vya seva, na, ikiwa haipatikani, basi imedhamiriwa kwa kutumia kisuluhishi;
  • Vigezo vipya vimeongezwa $proxy_protocol_server_addr ΠΈ $proxy_protocol_server_port, ambayo ina anwani ya seva na bandari iliyopatikana kutoka kwa kichwa cha itifaki cha PROXY;
  • Katika moduli ngx_stream_limit_conn_moduli variable aliongeza $limit_conn_status, ambayo huhifadhi matokeo ya kupunguza idadi ya miunganisho: PASSED, REJECTED au REJECTED_DRY_RUN;
  • Katika moduli ngx_http_kikomo_req_moduli variable aliongeza $limit_req_status, ambayo huhifadhi matokeo ya kupunguza kiwango cha kuwasili kwa maombi: YALIYOPITIWA, YALIYOCHELEWA, YALIYOKATAA, DELAYED_DRY_RUN au REJECTED_DRY_RUN;
  • Kwa chaguo-msingi, moduli imekusanyika ngx_http_moduli_ya_chujio;
  • Usaidizi ulioongezwa wa kugeuza vizuizi vinavyoitwa "location" kwa kutumia mbinu ya $r->internal_redirect() iliyotolewa na mkalimani aliyejengewa ndani Perl. Njia hii sasa inahusisha kuchakata URI zilizo na herufi zilizotoroka;
  • Unapotumia maagizo ya "mkondo" kwenye kizuizi cha mipangilio ya "mkondo".hashΒ»kupanga kusawazisha mzigo kwa kumfunga mteja-server, ukitaja thamani tupu ya ufunguo, hali ya kusawazisha sare (robin-pande zote) sasa imewashwa;
  • Umeongeza usaidizi wa kupiga simu kwa ioctl(FIONREAD) ikiwa inapatikana ili kuzuia kusoma kutoka kwa muunganisho wa haraka baada ya muda.

Chanzo: opennet.ru

Kuongeza maoni