Pärast aastat arendust uus stabiilne haru kõrge jõudlusega HTTP-serverist ja mitme protokolli vahendist , mis hõlmab endas 1.17.x põhiharu raames kogutud muudatusi. Edaspidi seondub kõik stabiilse 1.18 haru muudatused tõsiste vigade ja turvaprobleemide lahendamisega. Varsti moodustatakse nginx 1.19 põhiharu, kus jätkub uute funktsioonide arendamine. Tavalised kasutajad, kellel ei ole vajadust tagada ühilduvust kolmandate osapoolte moodulitega, saavad kasutada põhiharu, mille alusel koostatakse iga kolme kuu tagant kommertstoote Nginx Plus väljalasked.
Vastavalt Netcrafti ettevõtte andmetel kasutab nginx 19.56% kõigist aktiivsetest veebisaitidest (aasta tagasi 20.73%, kaks aastat tagasi 21.02%), mis vastab selles kategoorias teisele kohale populaarsuse poolest (Apache osakaal on 27.64%, Google — 10.03%, Microsoft IIS — 4.77%). Samas, kui vaadata kõiki veebisaite, hoiab nginx juhtpositsiooni 36.91% turuosaga (aasta tagasi 27.52%), samal ajal kui Apache osakaal on 24.73%, Microsoft IIS — 12.85%, Google — 3.42%.
Maailma kõige külastatavamatest saitidest moodustab nginx 25,54% (aasta tagasi oli see 26,22%, kaks aastat tagasi 23,76%). Hetkel on nginx-i haldamisel umbes 459 miljonit saiti (aasta tagasi 397 miljonit). W3Techs näitab, et nginx-i kasutatakse 31,9% maailma miljonist kõige külastatavamast veebisaidist; eelmisel aprillil oli see näitaja 41,8%, eelmisel aastal 38% (langus on seletatav Cloudflare HTTP-serveri eraldi arvestusele üleminekuga). Apache'i osakaal on aastaga vähenenud 43,6%-lt 38,9%-le ning Microsoft IIS-i osakaal on langenud 8,6%-lt 8,3%-le. Venemaal on nginx-i osakaal 78,9% kõige külastatavamatest saitidest (aasta tagasi oli see 81%).
Kõige märgatavamad parandused, mis on lisatud põhivaru versioonide 1.17.x kujundamise käigus:
- Lisatud direktiiv , mis aktiveerib proovirežiimi, milles maksimaalset töötlemise intensiivsust ei rakendata (ilma kiiruspiiranguta), kuid jätkub piirangute ületamise arvestamine jagatud mälus;
- Lisatud direktiiv , mis viib ngx_http_limit_conn_module mooduli proovirežiimi, kus ühenduste arv ei ole piiratud, kuid seda arvestatakse;
- Lisatud direktiiv „“, mis võimaldab lisada viivituse volitamata päringutele, mille vastuskood on 401, et vähendada paroolide proovimise intensiivsust ja kaitsta , mis manipuleerivad operatsioonide täitmise aja mõõtmisega (timing attack) süsteemide pädevuse nõudmise korral, millele on juurdepääs piiratud , või (JSON Web Token);
- Lisatud on muutujate tugi direktiividesse «limit_rate» ja «limit_rate_after», samuti direktiividesse «proxy_upload_rate» ja «proxy_download_rate» voogude moodulis;
- Direktiivis on lisatud muutujate kasutamise tugi parameetris, mis määrab aadressi. Kui aadress on määratud domeeninimes, otsitakse nime kirjeldatud serverigruppide seast, ja kui seda ei leita, määratakse see resolver'i kaudu;
- Uued muutujad on lisatud ja , mis sisaldavad serveri aadressi ja porti PROXY protokolli pealkirjast saadud;
- moodulis on lisatud muutuja , mis salvestab ühenduste piirangu tulemuse: PASSED, REJECTED või REJECTED_DRY_RUN;
- moodulis on lisatud muutuja , mis salvestab päringute määramise kiiruspiirangu tulemuse: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN või REJECTED_DRY_RUN;
- Mooduli ;
- on lisatud toetus nimega blokite «location» vahetamiseks meetodi $r->internal_redirect() abil, mida pakub sisseehitatud Perl'i tõlgendaja. See meetod hõlmab nüüd URI-de töötlemist, kus on põgenevad sümbolid;
- Kasutades seadistuste plokis „upstream” direktiivi „“ koormuse tasakaalustamiseks kliendi seotuse alusel, aktiveeritakse nüüd tühi võtme väärtuse määramise korral ühtlane tasakaalustamise režiim (round-robin);
- Lisatud on ioctl(FIONREAD) kutsumise tugi, kui see on saadaval, et vältida pikaajalist lugemist kiirelt ühendusest.
Allikas: opennet.ru
