nginx 1.18.0 laidiens

Pēc gada attīstības kuru pārstāv jauna stabila augstas veiktspējas HTTP servera un vairāku protokolu starpniekservera filiāle nginx 1.18.0, kas absorbēja galvenās nozares ietvaros uzkrātās izmaiņas 1.17.x. Turpmāk visas izmaiņas stabilajā zarā 1.18 būs saistītas ar nopietnu kļūdu un ievainojamību novēršanu. Drīzumā tiks izveidota nginx 1.19 galvenā filiāle, kuras ietvaros turpināsies jaunu funkciju izstrāde. Parastajiem lietotājiem, kuriem nav uzdevuma nodrošināt saderību ar trešo pušu moduļiem, ieteicams izmantot galveno filiāli, uz kuras pamata ik pēc trim mēnešiem tiek veidoti komerciālā produkta Nginx Plus izlaidumi.

Saskaņā ar aprīļa ziņojums Netcraft nginx tiek izmantots 19.56% no visām aktīvajām vietnēm (pirms gada 20.73%, pirms diviem gadiem 21.02%), kas atbilst otrajai vietai pēc popularitātes šajā kategorijā (Apache daļa atbilst 27.64%, Google - 10.03%, Microsoft IIS - 4.77%) . Tajā pašā laikā, aplūkojot visas vietnes, nginx saglabā līderpozīcijas un aizņem 36.91% no tirgus (pirms gada 27.52%), savukārt Apache daļa atbilst 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Starp miljoniem visvairāk apmeklēto vietņu pasaulē nginx daļa ir 25.54% (pirms gada 26.22%, pirms diviem gadiem 23.76%). Pašlaik Nginx darbojas aptuveni 459 miljonos vietņu (pirms gada 397 miljoni). Autors Saskaņā ar W3Techs nginx tiek izmantots 31.9% vietņu no miljona visvairāk apmeklētajām, pagājušā gada aprīlī šis rādītājs bija 41.8%, gadu iepriekš - 38% (kritums skaidrojams ar Cloudflare http servera pāreju uz atsevišķu uzskaiti). Apache daļa gada laikā samazinājās no 43.6% līdz 38.9%, bet Microsoft IIS daļa no 8.6% līdz 8.3%. Krievijā nginx lietots uz 78.9% no visvairāk apmeklētajām vietām (pirms gada - 81%).

Ievērojamākie uzlabojumi, kas pievienoti 1.17.x augšpuses filiāles izstrādes laikā:

  • Pievienota direktīva limit_req_dry_run, kas aktivizē izmēģinājuma izpildes režīmu, kurā netiek piemēroti pieprasījuma apstrādes intensitātes ierobežojumi (bez ātruma ierobežojuma), bet turpina ņemt vērā pieprasījumu skaitu, kas pārsniedz limitus koplietotajā atmiņā;
  • Pievienota direktīva limit_conn_dry_run, kas pārslēdz moduli ngx_http_limit_conn_module testa darbības režīmā, kurā savienojumu skaits nav ierobežots, bet tiek ņemts vērā;
  • Pievienota direktīva "auth_delay", kas ļauj pievienot aizkavi neautorizētiem pieprasījumiem ar atbildes kodu 401, lai samazinātu paroles uzminēšanas intensitāti un aizsargātu pret uzbrukumiem, manipulējot ar operāciju izpildes laika mērīšanu (laika uzbrukums), piekļūstot sistēmām, kurām piekļuve ir ierobežota parole, apakšvaicājuma rezultāts vai J.W.T. (JSON tīmekļa marķieris);
  • Pievienots atbalsts mainīgajiem direktīvās "limit_rate" un "limit_rate_after", kā arī straumes moduļa direktīvās "proxy_upload_rate" un "proxy_download_rate";
  • Direktīvā grpc_pass pievienots atbalsts mainīgā izmantošanai parametrā, kas nosaka adresi. Ja adrese ir norādīta kā domēna vārds, nosaukums tiek meklēts starp aprakstītajām serveru grupām un, ja nav atrasts, tiek noteikts, izmantojot atrisinātāju;
  • Pievienoti jauni mainīgie $proxy_protocol_server_addr и $proxy_protocol_server_port, kas satur servera adresi un portu, kas iegūts no PROXY protokola galvenes;
  • Modulī ngx_stream_limit_conn_module pievienots mainīgais $limit_conn_status, kas saglabā savienojumu skaita ierobežošanas rezultātu: PASSED, REJECTED vai REJECTED_DRY_RUN;
  • Modulī ngx_http_limit_req_module pievienots mainīgais $limit_req_status, kas saglabā pieprasījumu saņemšanas ātruma ierobežošanas rezultātu: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN vai REJECTED_DRY_RUN;
  • Pēc noklusējuma modulis ir samontēts ngx_http_postpone_filter_module;
  • Pievienots atbalsts bloku ar nosaukumu "atrašanās vieta" pārslēgšanai, izmantojot $r->internal_redirect() metodi, ko nodrošina iebūvētais Perl tulks. Šī metode tagad ietver URI apstrādi ar atsoļotām rakstzīmēm;
  • Izmantojot direktīvu “augšupstraume” iestatījumu blokā “augšupstraumi”.saputrot» organizēt slodzes līdzsvarošanu ar klienta-servera saistīšanu, ja norādāt tukšu atslēgas vērtību, tagad tiek aktivizēts vienotais balansēšanas režīms (round-robin);
  • Pievienots atbalsts ioctl (FIONREAD) izsaukšanai, ja tas ir pieejams, lai laika gaitā izvairītos no lasīšanas no ātra savienojuma.

Avots: opennet.ru

Pievieno komentāru