Išleisk nginx 1.18.0

Po metų plėtros atstovaujama nauja stabili didelio našumo HTTP serverio ir kelių protokolų tarpinio serverio šaka nginx 1.18.0, kuris absorbavo pokyčius, susikaupusius pagrindinėje šakoje 1.17.x. Ateityje visi stabilios šakos 1.18 pakeitimai bus susiję su rimtų klaidų ir pažeidžiamumų pašalinimu. Netrukus bus suformuota pagrindinė nginx 1.19 šaka, kurioje bus tęsiamas naujų funkcijų kūrimas. Paprastiems vartotojams, kurie neturi užduoties užtikrinti suderinamumo su trečiųjų šalių moduliais, rekomenduojama naudoti pagrindinį filialą, kurio pagrindu kas tris mėnesius formuojami komercinio produkto Nginx Plus leidimai.

Pagal balandžio mėnesio ataskaita Netcraft nginx naudojamas 19.56% visų aktyvių svetainių (prieš metus 20.73%, prieš dvejus metus 21.02%), o tai atitinka antrąją populiarumo vietą šioje kategorijoje (Apache dalis atitinka 27.64%, Google - 10.03%, Microsoft IIS - 4.77%) . Tuo pačiu metu, įvertinus visas svetaines, „nginx“ išlaiko lyderio poziciją ir užima 36.91% rinkos (prieš metus 27.52%), o „Apache“ dalis atitinka 24.73%, „Microsoft IIS“ - 12.85%, „Google“ - 3.42%.

Tarp milijono lankomiausių svetainių pasaulyje nginx dalis yra 25.54% (prieš metus 26.22%, prieš dvejus metus 23.76%). Šiuo metu „Nginx“ veikia apie 459 mln. svetainių (prieš metus – 397 mln.). Autorius Pagal W3Techs nginx naudojama 31.9% svetainių iš milijono labiausiai lankomų, pernai balandį šis skaičius siekė 41.8%, užpernai – 38% (sumažėjimas paaiškinamas perėjimu prie atskiros Cloudflare http serverio apskaitos). „Apache“ dalis per metus sumažėjo nuo 43.6% iki 38.9%, o „Microsoft IIS“ – nuo ​​8.6% iki 8.3%. Rusijoje nginx naudotas 78.9% lankomiausių objektų (prieš metus - 81%).

Žymiausi patobulinimai, pridėti kuriant 1.17.x aukštesnę atšaką:

  • Pridėta direktyva limit_req_dry_run, kuris įjungia bandomąjį paleidimo režimą, kuriame netaikomi jokie užklausų apdorojimo intensyvumo apribojimai (be greičio limito), tačiau toliau atsižvelgiama į ribas viršijančių užklausų skaičių bendrojoje atmintyje;
  • Pridėta direktyva limit_conn_dry_run, kuris perjungia ngx_http_limit_conn_module modulį į bandomojo paleidimo režimą, kuriame jungčių skaičius neribojamas, tačiau į jį atsižvelgiama;
  • Pridėta direktyva "auth_delay", kuri leidžia pridėti delsą prie neteisėtų užklausų, kurių atsakymo kodas yra 401, kad sumažintumėte slaptažodžio atspėjimo intensyvumą ir apsaugotumėte nuo išpuolių, manipuliuojantis operacijų vykdymo laiko matavimu (laiko ataka), kai pasiekiate sistemas, prie kurių prieiga yra ribota Slaptažodis, antrinės užklausos rezultatas arba J.W.T. (JSON žiniatinklio prieigos raktas);
  • Pridėtas kintamųjų palaikymas direktyvose "limit_rate" ir "limit_rate_after", taip pat srauto modulio direktyvose "proxy_upload_rate" ir "proxy_download_rate";
  • Direktyvoje grpc_pass papildomas kintamojo naudojimo parametre, kuris apibrėžia adresą, palaikymas. Jei adresas nurodytas kaip domeno vardas, vardo ieškoma tarp aprašytų serverių grupių, o jei nerandama, nustatoma naudojant raišką;
  • Pridėta naujų kintamųjų $proxy_protocol_server_addr и $proxy_protocol_server_port, kuriuose yra serverio adresas ir prievadas, gautas iš PROXY protokolo antraštės;
  • Modulyje ngx_stream_limit_conn_module pridėtas kintamasis $limit_conn_status, kuriame saugomas jungčių skaičiaus ribojimo rezultatas: PASSED, REJECTED arba REJECTED_DRY_RUN;
  • Modulyje ngx_http_limit_req_module pridėtas kintamasis $limit_req_status, kuriame saugomas užklausų gavimo greičio ribojimo rezultatas: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN arba REJECTED_DRY_RUN;
  • Pagal numatytuosius nustatymus modulis yra surinktas ngx_http_atidėti_filtro_modulį;
  • Pridėtas palaikymas perjungti pavadintus "vietos" blokus naudojant $r->internal_redirect() metodą, kurį teikia integruotas Perl interpretatorius. Šis metodas dabar apima URI apdorojimą su pašalintais simboliais;
  • Kai naudojate direktyvą „prieš srovę“ nustatymų bloke „prieš srovę“.maišos» organizuoti apkrovos balansavimą su kliento ir serverio susiejimu, jei nurodote tuščią rakto reikšmę, dabar įjungiamas vienodas balansavimo režimas (apvalus apdirbimas);
  • Pridėtas ioctl (FIONREAD) skambinimo palaikymas, jei įmanoma, kad laikui bėgant būtų išvengta skaitymo iš greito ryšio.

Šaltinis: opennet.ru

Добавить комментарий