nginx 1.18.0 -julkaisu

Vuoden kehitystyön jälkeen edustaa uusi vakaa haara tehokas HTTP-palvelin ja moniprotokolla-välityspalvelin nginx 1.18.0, joka absorboi päähaaraan kertyneet muutokset 1.17.x. Jatkossa kaikki vakaan haaran 1.18 muutokset liittyvät vakavien virheiden ja haavoittuvuuksien poistamiseen. Pian muodostuu nginx 1.19:n päähaara, jonka sisällä uusien ominaisuuksien kehittäminen jatkuu. Tavallisille käyttäjille, joiden tehtävänä ei ole varmistaa yhteensopivuutta kolmannen osapuolen moduulien kanssa, suositeltava käyttää päähaaraa, jonka perusteella kaupallisen tuotteen Nginx Plus julkaisut muodostetaan kolmen kuukauden välein.

Mukaan Huhtikuun raportti Netcraft nginxiä käytetään 19.56 %:lla kaikista aktiivisista sivustoista (vuosi sitten 20.73 %, kaksi vuotta sitten 21.02 %), mikä vastaa suosion toista sijaa tässä kategoriassa (Apachen osuus vastaa 27.64 %, Googlen 10.03 %, Microsoft IIS - 4.77 %) . Samaan aikaan, kun tarkastellaan kaikkia sivustoja, nginx säilyttää johtoasemansa ja vie 36.91% markkinoista (vuosi sitten 27.52%), kun taas Apachen osuus vastaa 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Maailman miljoonan vieraillumman sivuston joukossa nginxin osuus on 25.54 % (vuosi sitten 26.22 %, kaksi vuotta sitten 23.76 %). Tällä hetkellä noin 459 miljoonaa verkkosivustoa käyttää Nginxiä (397 miljoonaa vuosi sitten). Tekijä: Mukaan W3Techs nginxiä käytetään 31.9 prosentilla sivustoista miljoonasta vierailluimmasta, viime vuoden huhtikuussa luku oli 41.8 prosenttia, vuotta aiemmin - 38 prosenttia (lasku selittyy Cloudflare http -palvelimen erilliseen kirjanpitoon siirtymisellä). Apachen osuus laski vuoden aikana 43.6 prosentista 38.9 prosenttiin ja Microsoft IIS:n osuus 8.6 prosentista 8.3 prosenttiin. Venäjällä nginx käytetty 78.9 %:lla vierailluimmista sivustoista (vuosi sitten - 81 %).

Merkittävimmät parannukset lisätty 1.17.x ylävirran haaran kehityksen aikana:

  • Direktiivi lisätty limit_req_dry_run, joka aktivoi koekäyttötilan, jossa pyyntöjen käsittelyn intensiteetille ei aseteta rajoituksia (ilman nopeusrajoitusta), mutta ottaa edelleen huomioon rajat ylittävien pyyntöjen määrän jaetussa muistissa;
  • Direktiivi lisätty limit_conn_dry_run, joka kytkee ngx_http_limit_conn_module-moduulin testiajotilaan, jossa yhteyksien määrää ei ole rajoitettu, mutta se otetaan huomioon;
  • Lisätty ohje "auth_dayay", jonka avulla voit lisätä viiveen luvattomiin pyyntöihin, joiden vastauskoodi on 401, mikä vähentää salasanan arvaamisen voimakkuutta ja suojautua hyökkäyksiä, manipuloi toimintojen suoritusajan mittausta (ajoitushyökkäys) käytettäessä järjestelmiä, joihin pääsy on rajoitettu Salasana, alikyselyn tulos tai J.W.T. (JSON Web Token);
  • Lisätty tuki muuttujille "limit_rate"- ja "limit_rate_after"-direktiiveissä sekä stream-moduulin "proxy_upload_rate"- ja "proxy_download_rate"-direktiiveissä;
  • Direktiivissä grpc_pass lisätty tuki muuttujan käyttämiselle parametrissa, joka määrittää osoitteen. Jos osoite määritetään verkkotunnuksen nimeksi, nimi etsitään kuvattujen palvelinryhmien joukosta, ja jos sitä ei löydy, se määritetään käyttämällä ratkaisijaa;
  • Uusia muuttujia lisätty $proxy_protocol_server_addr и $proxy_protocol_server_port, jotka sisältävät PROXY-protokollan otsikosta saadun palvelimen osoitteen ja portin;
  • Moduulissa ngx_stream_limit_conn_module muuttuja lisätty $limit_conn_status, joka tallentaa yhteyksien määrän rajoittamisen tuloksen: PASSED, REJECTED tai REJECTED_DRY_RUN;
  • Moduulissa ngx_http_limit_req_module muuttuja lisätty $limit_req_status, joka tallentaa pyyntöjen saapumisnopeuden rajoittamisen tuloksen: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN tai REJECTED_DRY_RUN;
  • Oletuksena moduuli on koottu ngx_http_lykkää_suodatin_moduulia;
  • Lisätty tuki nimettyjen "sijainti"-lohkojen vaihtamiseen käyttämällä sisäänrakennetun Perl-tulkin tarjoamaa $r->internal_redirect()-menetelmää. Tämä menetelmä sisältää nyt URI:iden käsittelyn, joissa on erotettuja merkkejä;
  • Kun käytetään "upstream" -direktiiviä "upstream" -asetuslohkossahasis» järjestää kuormituksen tasapainotus asiakas-palvelin-sidoksella, jos määrität tyhjän avainarvon, yhtenäinen tasapainotustila (round-robin) on nyt käytössä;
  • Lisätty tuki ioctl:n (FIONREAD) kutsumiselle, jos se on saatavilla, jotta vältytään lukemiselta nopeasta yhteydestä ajan myötä.

Lähde: opennet.ru

Lisää kommentti