Nginx 1.30.0 ja FreeNginx 1.30.0 vÀljaanne

PĂ€rast aasta arendust on avaldatud uus stabiilne versioon kĂ”rgtasemel HTTP-serverist ja mitme protokolli vahendajast nginx 1.30.0, mis sisaldab muudatusi, mis on kogunenud pĂ”hiversioonis 1.29.x. Edaspidi seondub kĂ”ik stabiilses harus 1.30 tehtavad muudatused tĂ”siste vigade ja haavatavuste likvideerimisega. Varsti moodustatakse pĂ”hiversioon nginx 1.31, milles jĂ€tkatakse uute vĂ”imaluste arendamist. Tavalistele kasutajatele, kellel ei ole eesmĂ€rki tagada ĂŒhilduvus kolmandate osapoolte moodulitega, soovitatakse kasutada pĂ”hiversiooni, mille pĂ”hjal iga kolme kuu tagant vĂ€ljastatakse kommertstoode Nginx Plus. Nginx'i kood on kirjutatud C keeles ja seda levitatakse BSD litsentsi alusel.

Vastavalt veebruari aruandele Netcrafti ettevĂ”ttest töötab nginx'i all umbes 321 miljonit veebisaiti (aasta tagasi 245 miljonit, kaks aastat tagasi — 243 miljonit, kolm aastat tagasi 289 miljonit). Nginx'i kasutatakse 16.08% kĂ”igist aktiivsetest veebisaitidest (aasta tagasi 17.89%, kaks aastat tagasi 18.15%, kolm aastat tagasi 18.94%), mis vastab teisele kohale populaarsuses selles kategoorias (Apache'i osakaal vastab 13.27% (aasta tagasi 16.03%, kaks aastat tagasi 20.09%, kolm aastat tagasi 20.52%), Cloudflare — 20.62% (17.81%, 14.12%, 11.32%), Google — 10.65% (9.89%, 10.41%, 9.89%).

Vaadates kĂ”iki saite, sĂ€ilitab nginx juhtpositsiooni ja hĂ”lmab 22.65% turust (aasta tagasi 20.48%, kaks aastat tagasi — 22.31%, kolm aastat tagasi — 25.94%), samas kui Apache'i osakaal on 12.19% (16.03%, 20.17%, 20.58%), Cloudflare — 15.27% (12.87%, 11.24%, 10.17%), OpenResty (nginx'i ja LuaJIT'i platvorm) — 8.01% (9.36%, 7.93%, 7.94%).

Miljoni kĂ”ige kĂŒlastatuma veebisaidi seas maailmas paikneb nginx teisel kohal, osakaalu saavutades 19.85% (aasta tagasi 20.37%, kaks aastat tagasi 20.63%, kolm aastat tagasi 21.37%). Esimese koha hoiab Cloudflare — 26.84% (22.32%, 22.59%, 21.62%). Apache httpd osakaal on 15.84% (17.95%, 20.09%, 21.18%). Nginx 1.30.0 ja FreeNginx 1.30.0 vĂ€ljaanne

W3Techsi andmetel kasutatakse nginx'i 32.8% -l miljonist kĂ”ige kĂŒlastatumast veebisaidist (eelmisel aprillil oli see nĂ€itaja 33.8%, kaks aastat tagasi — 34.3%). Apache'i osakaal on aastaga langenud 26.3%-lt 23.9%-le, Microsoft IIS osakaal on langenud 4%-lt 3.4%-le ning Caddy osakaal 0.3%-lt 0.2%-le. Node.js osakaal on tĂ”usnud 4.4%-lt 6.0%-le, samas kui LiteSpeed osakaal on tĂ”usnud 14.6%-lt 15.2%-le.

MÔned kÔige silmatorkavamad tÀiendused, mis lisati pÔhiversiooni 1.29.x loomise kÀigus:

  • Lisatud on TLS laienduse ECH (Encrypted ClientHello) tugi, mis edasi arendab laiendust ESNI (Encrypted Server Name Indication) ja mille eesmĂ€rk on krĂŒpteerida teavet TLS seansside parameetrite kohta, nagu taotletud domeeninimi. ECH peamine erinevus ESNI-st on see, et ECH krĂŒpteerib kogu TLS ClientHello sĂ”numi, mitte ainult ĂŒksikud vĂ€ljad, mis takistab lekkeid, mida ei kaitse ESNI, nĂ€iteks PSK (Pre-Shared Key) vĂ€li. ECH kasutamine aktiveeritakse ECHConfig faili konfiguratsioonis direktiivi „ssl_ech_file“ mÀÀramise kaudu, mis on PEM formaadis. Tugi on saadaval koos OpenSSL koosseisudega, millel on ECH.
  • Toetatud on Multipath TCP (MPTCP) protokoll, mis vĂ”imaldab pakettide saatmist mitme marsruudi kaudu erinevate vĂ”rgu liideste kaudu. Direktiivi listen on lisatud multipath parameeter.
  • Lisatud on vĂ”imalus siduda kliendi sessioone sama gruppi kuuluva serveriga. Saadaval on kolm meetodit: „cookie“ — andmete edastamine valitud kaudu Cookie; „route“ — proksiserver mÀÀrab kliendile marsruudi esimese pĂ€ringu saamisel; „learn“ — nginx analĂŒĂŒsib ĂŒlesvoolu serverilt saadud vastuseid ja mĂ€letab serveri algatatud sessioone. Sidumise seadistamiseks lisati „upstream“ ploki „http“ moodulis juhend „sticky“, ja „server“ juhendisse lisati parameetrid „route“ ja „drain“. serveris Lisatud on juhend „early_hints“ ja realiseeritud on HTTP-ood 103 toe prokside ja gRPC tagastustes. Ood 103 vĂ”imaldab informeerida klienti mĂ”ningate HTTP-pealkirjade sisust kohe pĂ€rast pĂ€ringut, oodates, kuni server tĂ€idab kĂ”ik seotud pĂ€ringute operatsioonid ja alustab sisu edastamist. Samamoodi saab edastada vihjeid seotud elemendist, mis vĂ”ivad olla eelnevalt laaditud (nĂ€iteks CSS ja JavaScripti lingid, mida lehelt kasutatakse). Saades teavet nende ressursside kohta, hakkab brauser nende laadimist tegema, oodates peamise lehe edastamise lĂ”ppu, mis vĂ”imaldab vĂ€hendada kogu pĂ€ringute töötlemise aega.
  • Lisatud on juhend „ssl_certificate_compression“ sertifikaadi squeeze juhtimise jaoks.
  • Lisatud on direktiivid add_header_inherit ja add_trailer_inherit, mis vĂ”imaldavad muuta add_header ja add_trailer direktiivides mÀÀratud vÀÀrtuste pĂ€rimise reegleid. Parameeter „off“ tĂŒhistab vÀÀrtuste pĂ€rimise, samas kui parameeter „merge“ lubab seniseid vÀÀrtusi lisada praegustele tasemetele.
  • Juhendisse „geo“ on lisatud parameeter „volatile“, mis keelab muutuja vahemĂ€lu. Maske on lubatud kasutada juhendis „include“, mis on mÀÀratud „geo“ ploki sees. TLS-sertifikaatide.
  • Lisa direktiiv max_headers, mis piirab HTTP-pealkirjade maksimaalset arvu pĂ€ringus. Kui piirĂŒletus toimub, tagastatakse viga 400 (Bad Request). VĂ”imalus on kantud FreeNginx-ist.
  • Lisatud on muutujad $request_port ja $is_request_port. Esimene muutuja sisaldab pordi numbrit URI komponendist vĂ”i ‘Host’ pealkirjast, teine sisaldab „:”, kui muutuja $request_port ei ole tĂŒhi.
  • Lisatud on muutujad $ssl_sigalg ja $ssl_client_sigalg, mis sisaldavad digitaalallkirja loomise algoritmi nime TLS-ĂŒhenduse jaoks.
  • „Upstream“ plokis on vaikimisi aktiveeritud juhend „keepalive“. „Keepalive“ juhendisse, mida kasutatakse „upstream“ plokis, on lisatud parameeter „local“. Kui see parameeter on mÀÀratud, ei jagata ĂŒhte ĂŒhendust ĂŒhise upstream-serveriga, mis on mainitud erinevates asukoha ja serveri plokkides; igas plokis hoitakse eraldi ĂŒhendust upstreamiga.
  • ProxireĆŸiimis kasutamisel on vaikevalik protokolli versioon HTTP/1.1, keeplivi reĆŸiimi kaasamisega (ngx_http_proxy_module moodulis on vaikimisi lubatud keeplivi tugi ja vÀÀrtuseks on mÀÀratud „1.1“ juhendis „proxy_http_version“ ning vaikimisi on peatatud pealkirja „Connection“ saatmine).
  • Pakutud on vĂ”imalus laadida krĂŒptograafilisi vĂ”tmeid riistvarastokenitest, kasutades teenusepakkujana OpenSSL teeki.
  • Moduuli ngx_http_proxy on lisatud HTTP/2 protokolli tugi, mis vĂ”imaldab kasutada HTTP/2 backend'ide poole pöördumisel.
  • Rakendatud on vĂ”imalus laadida krĂŒptograafilisi vĂ”tmeid riistvaralistest tokenitest, kasutades teenusepakkujana OpenSSL teeki.
  • QUIC-protokolli rakendusse on lisatud 0-RTT reĆŸiimi tugi, mis on saadaval sĂŒsteemides, kus on OpenSSL 3.5.1 ja uuemad versioonid.
  • Lisatud on vĂ”imalus koguda koos AWS-LC krĂŒptograafia raamatukoguga, mida arendab Amazon.
  • TLSv1.3 sertifikaatide tihendamine on vaikimisi keelatud.
  • Tagatud on ĂŒhilduvus OpenSSL 4.0 raamatukoguga.

Samuti tasub mĂ€rkida FreeNginx 1.30.0 versiooni vĂ€ljaandmist, mis arendab Nginxi forki. Forki arendab Maxim Dunin, ĂŒks Nginxi vĂ”tme arendajatest. FreeNginx on positsioneeritud kui mittetulunduslik projekt, mis tagab Nginxi koodibaasi arendamise ilma ettevĂ”tte sekkumiseta. FreeNginxi kood on jĂ€tkuvalt kergesti kĂ€ttesaadav BSD litsentsi alusel. FreeNginx 1.30 haru muudatuste hulka kuuluvad: TLS laienduse ECH (Encrypted Client Hello) tugi; parandatud limit_rate direktiivi töötlemine; lisatud send_min_rate ja client_body_min_rate direktiivid; vĂ”imalus piirata ĂŒhenduste arvu ja pĂ€ringute intensiivsust postiteenuste proksis; GeoIP2 andmebaasi tugi GeoIP moodulis; tĂ€iendatud XSLT mooduli kaitset.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster