nginx 1.18.0 eldono

Post jaro da evoluo предстР° РІР »РµРЅР ° nova stabila branĉo de alt-efikeca HTTP-servilo kaj plurprotokola prokurilo nginx 1.18.0, kiu absorbis la ŝanĝojn akumulitajn ene de la ĉefa branĉo 1.17.x. En la estonteco, ĉiuj ŝanĝoj en la stabila branĉo 1.18 estos rilataj al la forigo de gravaj eraroj kaj vundeblecoj. La ĉefa branĉo de nginx 1.19 baldaŭ formiĝos, ene de kiu la disvolviĝo de novaj funkcioj daŭros. Por ordinaraj uzantoj, kiuj ne havas la taskon certigi kongruon kun triaj moduloj, rekomendita uzu la ĉefan branĉon, surbaze de kiu eldonoj de la komerca produkto Nginx Plus estas formitaj ĉiuj tri monatoj.

Laŭ Aprila raporto Netcraft nginx estas uzata sur 19.56% de ĉiuj aktivaj retejoj (antaŭ unu jaro 20.73%, antaŭ du jaroj 21.02%), kio respondas al la dua loko en populareco en ĉi tiu kategorio (la parto de Apache respondas al 27.64%, Google - 10.03%, Microsoft). IIS - 4.77%) . Samtempe, konsiderante ĉiujn retejojn, nginx konservas sian gvidadon kaj okupas 36.91% de la merkato (antaŭ jaro 27.52%), dum la parto de Apache respondas al 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Inter la milionoj da plej vizititaj retejoj en la mondo, la parto de nginx estas 25.54% (antaŭ unu jaro 26.22%, antaŭ du jaroj 23.76%). Nuntempe ĉirkaŭ 459 milionoj da retejoj funkcias Nginx (antaŭ jaro 397 milionoj). De donita W3Techs nginx estas uzata en 31.9% de retejoj el la miliono plej vizitataj, en aprilo de la pasinta jaro ĉi tiu cifero estis 41.8%, la jaron antaŭe - 38% (la malkresko estas klarigita per la transiro al aparta kontado de la Cloudflare http-servilo). La parto de Apache falis tra la jaro de 43.6% al 38.9%, kaj la parto de Microsoft IIS de 8.6% al 8.3%. En Rusio nginx estas uzata sur 78.9% de la plej vizititaj retejoj (antaŭ unu jaro - 81%).

La plej rimarkindaj plibonigoj aldonitaj dum la evoluo de la 1.17.x kontraŭflua branĉo:

  • Direktivo aldonita limigi_req_sekigi_kuri, kiu aktivigas la provan reĝimon, en kiu neniuj limigoj estas aplikataj pri la intenseco de peta prilaborado (sen impostolimo), sed daŭre konsideras la nombron da petoj superantaj la limojn en komuna memoro;
  • Direktivo aldonita limit_conn_dry_run, kiu ŝanĝas la modulon ngx_http_limit_conn_module en provan reĝimon, en kiu la nombro da konektoj ne estas limigita, sed estas konsiderata;
  • Aldonita direktivo "aŭth_prokrasto", kiu permesas vin aldoni prokraston al neaŭtorizitaj petoj kun respondkodo de 401 por redukti la intensecon de pasvorta divenado kaj protekti kontraŭ atakoj, manipulante la mezuradon de la ekzekuttempo de operacioj (tempiga atako) dum aliro al sistemoj al kiuj aliro estas limigita Pasvorto, rezulto de subdemandoJ.W.T. (JSON Web Token);
  • Aldonita subteno por variabloj en la "limit_rate" kaj "limit_rate_after" direktivoj, same kiel en la "proxy_upload_rate" kaj "proxy_download_rate" direktivoj de la stream modulo;
  • En la direktivo grpc_pass aldonis subtenon por uzi variablon en parametro, kiu difinas adreson. Se la adreso estas specifita kiel domajna nomo, la nomo estas serĉata inter la priskribitaj grupoj de serviloj, kaj, se ne trovita, tiam determinita per solvilo;
  • Novaj variabloj aldonitaj $proxy_protocol_server_addr и $proxy_protocol_server_port, kiuj enhavas la servilan adreson kaj havenon akiritan de la protokolo-kapo PROXY;
  • En la modulo ngx_stream_limit_conn_module variablo aldonita $limit_conn_status, kiu konservas la rezulton de limigo de la nombro da konektoj: PASITA, REJECTED aŭ REJECTED_DRY_RUN;
  • En la modulo ngx_http_limit_req_module variablo aldonita $limit_req_status, kiu konservas la rezulton de limigo de la rapideco de alveno de petoj: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN aŭ REJECTED_DRY_RUN;
  • Defaŭlte, la modulo estas kunmetita ngx_http_postpone_filter_module;
  • Aldonita subteno por ŝanĝi nomitajn "lokajn" blokojn uzante la $r->internal_redirect() metodon provizitan de la enkonstruita Perl-interpretilo. Ĉi tiu metodo nun implikas prilabori URIojn kun eskapintaj signoj;
  • Kiam vi uzas la "kontraŭfluan" direktivon en la "supren" agorda blokohash» por organizi ŝarĝan ekvilibron kun kliento-servila ligado, se vi specifas malplenan ŝlosilvaloron, la uniforma ekvilibra reĝimo (cirklama) nun estas aktivigita;
  • Aldonita subteno por voki ioctl (FIONREAD) se disponebla por eviti legi de rapida konekto kun la tempo.

fonto: opennet.ru

Aldoni komenton