Nginx versioon 1.26.0, mis toetab HTTP/3, on vÀlja antud.

PĂ€rast aasta pikkust arendust on avaldatud uus stabiilne versioon kĂ”rge jĂ”udlusega HTTP-serverist ja mitme protokolliga proksiserverist nginx 1.26.0, mis sisaldab muudatusi, mis on kogunenud peamises 1.25.x versioonis. Edaspidi seondub kĂ”ik stabiilse versiooni 1.26 muutmine tĂ”siste vigade ja haavatavuste kĂ”rvaldamisega. Varsti moodustatakse peamine versioon nginx 1.27, kus jĂ€tkatakse uute vĂ”imaluste arendamist. Tavalistele kasutajatele, kellel pole vajadust tagada ĂŒhilduvus kolmandate osapoolte moodulitega, soovitatakse kasutada peamist versiooni, mille alusel koostatakse iga kolme kuu tagant kaubandusliku toote Nginx Plus vĂ€ljaandeid.

MĂ€rtsi raporti kohaselt Netcrafti poolt töötab nginx umbes 243 miljonil veebisaidil (aasta tagasi 289 miljonit). Nginx kasutatakse 18.15% kĂ”igist aktiivsetest veebisaitidest (aasta tagasi 18.94%, kaks aastat tagasi 20.08%), mis vastab populaarsuse teisele kohale selles kategoorias (Apache osakaal vastab 20.09% (aasta tagasi 20.52, kaks aastat tagasi 22.58%), Cloudflare — 14.12% (11.32%, 10.42%), Google — 10.41% (9.89%, 8.89%). Samal ajal, kui vaadata kĂ”iki saite, sĂ€ilitab nginx juhtpositsiooni ja moodustab 22.31% turust (aasta tagasi 25.94%, kaks aastat tagasi — 31.13%), samas kui Apache osakaal vastab 20.17% (20.58, 23.08%), Cloudflare — 11.24% (10.17, 5.49%), OpenResty (nginx ja LuaJIT pĂ”hine platvorm) — 7.93% (7.94%, 8.01%).

Milliooni kĂ”ige kĂŒlastatavamate veebisaitide seas on nginx osakaal 20,63% (aasta tagasi 21,37%, kaks aastat tagasi 21,79%), Cloudflare — 22,59% (aasta tagasi 21,62%), Apache httpd — 20,09% (21,18%). W3Techsi andmetel kasutatakse nginx-i 34,3%-l maailma millionist kĂ”ige kĂŒlastatavamast saidist; eelmisel aprillil oli see nĂ€itaja 34,5%, ja ĂŒle-eelmise aasta aprillis 33,1%. Apache osakaal vĂ€henes aastaga 32,2%-lt 30,1%-le ja Microsoft IIS osakaal vĂ€henes 5,6%-lt 4,8%-le. Node.js osakaal kasvas 2,4%-lt 3,2%-le, ning LiteSpeed osakaal kasvas 11,8%-lt 12,9%-le.

Peamised mÀrkimisvÀÀrsed parandused, mis on lisatud peamise versiooni 1.25.x koostamise kÀigus:

  • Lisatud ngx_http_v3 moodul, millel on eksperimentaalne tugi HTTP/3 protokollile. Mooduli kompileerimiseks on ette nĂ€htud valik "--with-http_v3_module". HTTP/3 mÀÀratleb QUIC (Quick UDP Internet Connections) protokolli kasutamise HTTP/2 transpordiks. QUIC on UDP protokolli peal olev konstruktsioon, mis toetab mitme ĂŒhenduse multiplexerimist ja pakub krĂŒptimismeetodeid, mis on vĂ”rreldavad TLS/SSL-iga. Protokoll loodi 2013. aastal Google'i poolt, et pakkuda alternatiivi TCP+TLS kombinatsioonile veebis, lahendades TCP-s suurte ĂŒhenduste loomise ja lĂ€birÀÀkimistega seotud viivituste probleemid ning kĂ”rvaldab viivitused pakettide kaotamise ajal andmete edastamise protsessis.
  • Lisatud eraldi direktiiv "http2", et vĂ”imaldada HTTP/2 protokolli valikulist aktiveerimist serverite sidumiseks (vĂ”ib kasutada eraldi "server" blokknodes). Direktiivis "listen" on parameeter "http2" tunnistatud aegunuks.
  • Tugevdatud kaitset HTTP/2 klientide ebanormaalse tegevuse vastu, sealhulgas "Rapid Reset" klassi DoS-rĂŒnnakute vastu, kus luuakse suur arv kohe tagasi lĂŒkatud vooge ĂŒhe HTTP/2 ĂŒhenduse raames. Vaikekonfiguratsioonis takistavad sellised rĂŒnnakud "keepalive_requests" ĂŒhenduse pĂ€ringute arvu piirmÀÀr ja "limit_req" piirangud. Varaseks reageerimiseks massiliste pĂ€ringute rĂŒnnakutele, luues suur hulk vooge, on lisatud tĂ€iendav piirang, mis ei vĂ”imalda vaikimisi luua rohkem kui 256 (2 * max_concurrent_streams) uut voogu igas sĂŒndmuste töötlemise tsĂŒklis. Uus piirang vĂ”imaldab alustada pĂ€ringute blokeerimist enne, kui saavutatakse samaaegsete voogude ĂŒldine piirmÀÀr, nĂ€iteks kui vooge töödeldakse asĂŒnkroonselt vĂ”i need lĂŒkatakse tagasi.
  • Stream moodulisse on lisatud tugi virtuaalserverite, mille konfigureerimine toimub plokis „server { 
 }” direktiiviga server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • Lisatud uus ngx_stream_pass_module moodul, mis on mĂ”eldud vastuvĂ”etud ĂŒhenduste sirgjooneliseks edastamiseks mis tahes kuulavale soketile, mis on seotud selliste moodulitega nagu http, stream ja mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
  • Stream mooduli listen direktiivis on realiseeritud tugi parameetritele «deferred» (lĂŒlitab sisse edasi lĂŒkatud accept), «accept_filter» (sissetulevate ĂŒhenduste filter, mida rakendatakse enne accept funktsiooni kutsumist) ja «setfib» (marĆĄrutimis tabeli mÀÀramine).
  • MĂ”nede arhitektuuride jaoks on realiseeritud tugi ploki suuruse (cache line) mÀÀratlemiseks, mida kasutatakse andmete ĂŒlekandmiseks CPU vahemĂ€lu ja mĂ€lu vahel.
  • Parandatud on puhvrite haldamist, mida kasutatakse HTTP/2 ĂŒhenduste automaatseks mÀÀramiseks.
  • Parandatud on konfiguratsioonide kĂ€ivitamise jĂ”udlust suure hulga "location" direktiividega.
  • Server push tehnoloogia toimetamine HTTP/2-s on eemaldatud.
  • Aegunud direktiivi "ssl" toimetamine on lĂ”petatud.

FreeNginx 1.26.0 stabiilne vĂ€ljaanne, mis on Nginx'i fork, avaldati kaks nĂ€dalat tagasi. Forki arendust juhib Maksim Dunin, ĂŒks Nginx'i vĂ”tmearendajatest. FreeNginx on mittekommersiaalne projekt, mis tagab Nginx'i koodibaasi arendamise ilma ettevĂ”tte sekkumiseta.

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