nginx 1.18.0 bertsioa

Urtebeteko garapenaren ostean ordezkatuta errendimendu handiko HTTP zerbitzariaren eta protokolo anitzeko proxy zerbitzariaren adar egonkor berria nginx 1.18.0, 1.17.x adar nagusiaren barruan pilatutako aldaketak xurgatu zituena. Etorkizunean, 1.18 adar egonkorraren aldaketa guztiak akats eta ahultasun larriak ezabatzearekin lotuta egongo dira. Laster eratuko da nginx 1.19ren adar nagusia, eta horren barruan funtzio berrien garapena jarraituko du. Hirugarrenen moduluekin bateragarritasuna ziurtatzeko zeregina ez duten erabiltzaile arruntentzat, gomendagarria erabili adar nagusia, zeinaren arabera Nginx Plus produktu komertzialaren kaleratzeak hiru hilean behin sortzen diren.

Arabera Apirileko txostena Netcraft nginx gune aktibo guztien % 19.56an erabiltzen da (duela urtebete % 20.73, duela bi urte % 21.02), eta hori kategoria honetako ospearen bigarren postuari dagokio (Apacheren kuota % 27.64koa da, Google - % 10.03, Microsoft). IIS - % 4.77 . Aldi berean, gune guztiak kontuan hartuta, nginx-ek bere lidergoa mantentzen du eta merkatuaren % 36.91 hartzen du (duela urtebete % 27.52), Apacheren kuota % 24.73koa den bitartean, Microsoft IIS - % 12.85, Google - % 3.42.

Munduko milioi bisitatuenen artean, nginx-en kuota %25.54koa da (duela urtebete %26.22, duela bi urte %23.76). Gaur egun, 459 milioi webgune inguru Nginx exekutatzen ari dira (duela urtebete 397 milioi). Nork datuak W3Techs nginx guneen % 31.9an erabiltzen da bisita gehien bisitatutako milioietatik, iazko apirilean zifra hori % 41.8koa zen, aurreko urtean - % 38 (beherakada Cloudflare http zerbitzariaren kontabilitate bereiztera igarotzean azaltzen da). Apacheren kuota urtean zehar %43.6tik %38.9ra jaitsi da, eta Microsoft IISen kuota %8.6tik %8.3ra. Errusian nginx Erabilitako bisita gehien dauden guneen % 78.9an (duela urtebete - % 81).

1.17.x upstream adarra garatzean gehitu diren hobekuntza nabarmenenak:

  • Zuzentaraua gehitu da limit_req_dry_run, probako exekuzio modua aktibatzen duena, non eskaerak prozesatzeko intentsitatean murrizketarik ezartzen (tasa mugarik gabe), baina memoria partekatuan mugak gainditzen dituen eskaera kopurua kontuan hartzen jarraitzen du;
  • Zuzentaraua gehitu da limit_conn_dry_run, ngx_http_limit_conn_module modulua proba exekutatzeko modura aldatzen duena, zeinetan konexio kopurua mugatua ez den, baina kontuan hartzen da;
  • Zuzentaraua gehitu da "auth_atzerapena", baimenik gabeko eskaerei atzerapena gehitzeko aukera ematen dizu 401 erantzun-kode batekin pasahitzak asmatzearen intentsitatea murrizteko eta babesteko. erasoak, eragiketen exekuzio-denboraren neurketa manipulatzea (denboraren erasoa) sarbidea mugatua duten sistemetara sartzean. pasahitza, azpikontsulta baten emaitza edo J.W.T. (JSON Web Tokena);
  • "limit_rate" eta "limit_rate_after" zuzentarauetan aldagaientzako laguntza gehitu da, baita korronte moduluko "proxy_upload_rate" eta "proxy_download_rate" zuzentarauetan ere;
  • Zuzentarauan grpc_pass Helbide bat definitzen duen parametro batean aldagai bat erabiltzeko laguntza gehitu du. Helbidea domeinu-izen gisa zehazten bada, izena deskribatutako zerbitzari-taldeen artean bilatzen da, eta, aurkitu ezean, konpontzailea erabiliz zehazten da;
  • Aldagai berriak gehitu dira $proxy_protocol_server_addr ΠΈ $proxy_protocol_server_port, PROXY protokoloaren goiburutik lortutako zerbitzariaren helbidea eta ataka dutenak;
  • Moduluan ngx_stream_limit_conn_module aldagaia gehituta $limit_conn_status, konexio kopurua mugatzearen emaitza gordetzen duena: PASSED, REJECTED edo REJECTED_DRY_RUN;
  • Moduluan ngx_http_limit_req_module aldagaia gehituta $limit_req_status, eskaeren irismen-tasa mugatzearen emaitza gordetzen duena: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN edo REJECTED_DRY_RUN;
  • Lehenespenez, modulua muntatuta dago ngx_http_postpone_filter_module;
  • "Kokapena" izeneko blokeak aldatzeko laguntza gehitu da, integratutako Perl interpreteak emandako $r->internal_redirect() metodoa erabiliz. Metodo honek ihes karaktereak dituzten URIak prozesatzea dakar orain;
  • "Ustean" zuzentaraua "upstream" ezarpenen blokean erabiltzeanhashΒ» karga-orekatzea bezero-zerbitzariaren loturarekin antolatzeko, gako-balio huts bat zehazten baduzu, orekatze modu uniformea ​​(round-robin) aktibatuta dago orain;
  • Ioctl (FIONREAD) deitzeko laguntza gehitu da, erabilgarri badago denboran zehar konexio azkar batetik irakurtzea saihesteko.

Iturria: opennet.ru

Gehitu iruzkin berria