Az nginx 1.18.0 kiadása

Egy év fejlesztés után bemutatott a nagy teljesítményű HTTP szerver és a többprotokollos proxyszerver új stabil ága nginx 1.18.0, amely elnyelte a főágon belül felhalmozódott változásokat 1.17.x. A jövőben az 1.18-as stabil ág minden változása a súlyos hibák és sérülékenységek kiküszöbölésére fog vonatkozni. Hamarosan megalakul az nginx 1.19 fő ága, amelyen belül folytatódik az új funkciók fejlesztése. Azoknak a hétköznapi felhasználóknak, akiknek nem feladata a harmadik féltől származó modulokkal való kompatibilitás biztosítása, ajánlott használja a fő ágat, amely alapján az Nginx Plus kereskedelmi termék kiadásai háromhavonta jönnek létre.

Szerint áprilisi jelentés A Netcraft nginxet az összes aktív oldal 19.56%-án használják (egy éve 20.73%, két éve 21.02%), ami a második helyen áll népszerűségben ebben a kategóriában (az Apache részesedése 27.64%, a Google - 10.03%, a Microsoft IIS - 4.77%) . Ugyanakkor az összes webhelyet figyelembe véve az nginx megtartja vezető szerepét, és a piac 36.91% -át foglalja el (egy évvel ezelőtt 27.52%), míg az Apache részesedése 24.73%, a Microsoft IIS - 12.85%, a Google - 3.42%.

A világ egymillió leglátogatottabb oldala között az nginx részesedése 25.54% (egy évvel ezelőtt 26.22%, két éve 23.76%). Jelenleg körülbelül 459 millió webhelyen fut az Nginx (egy évvel ezelőtt 397 millió). Által Szerint A W3Techs nginxet az egymillió leglátogatottabb oldal 31.9%-án használják, tavaly áprilisban ez az arány 41.8%, tavalyelőtt 38% volt (a csökkenést a Cloudflare http szerver külön könyvelésére való átállás magyarázza). Az Apache részesedése az év során 43.6%-ról 38.9%-ra, a Microsoft IIS részesedése pedig 8.6%-ról 8.3%-ra esett. Oroszországban nginx használt a leglátogatottabb oldalak 78.9%-án (egy évvel ezelőtt - 81%).

A legfigyelemreméltóbb fejlesztések az 1.17.x upstream ág fejlesztése során:

  • Az irányelv hozzáadva limit_req_dry_run, amely aktiválja a próbaüzemmódot, amelyben nincs korlátozás a kérésfeldolgozás intenzitására (sebességkorlátozás nélkül), de továbbra is figyelembe veszi a megosztott memóriában lévő korlátokat meghaladó kérések számát;
  • Az irányelv hozzáadva limit_conn_dry_run, amely az ngx_http_limit_conn_module modult tesztüzemmódba kapcsolja, amelyben a kapcsolatok száma nincs korlátozva, de figyelembe veszik;
  • Hozzáadott direktíva "auth_delay", amely lehetővé teszi, hogy késleltetést adjon a jogosulatlan kérésekhez 401-es válaszkóddal, hogy csökkentse a jelszó kitalálásának intenzitását és megvédje a támadások, manipulálja a műveletek végrehajtási idejének mérését (időzítő támadás) olyan rendszerekhez való hozzáféréskor, amelyekhez korlátozott a hozzáférés Jelszó, egy segédlekérdezés eredménye vagy J.W.T. (JSON Web Token);
  • A változók támogatása a "limit_rate" és a "limit_rate_after" direktívákban, valamint a "proxy_upload_rate" és "proxy_download_rate" direktívákban a stream modulban;
  • Az irányelvben grpc_pass hozzáadott támogatás egy változó használatához egy címet meghatározó paraméterben. Ha a címet tartománynévként adjuk meg, a név megkeresi a leírt szervercsoportokat, és ha nem található, akkor egy feloldóval meghatározza;
  • Új változók hozzáadva $proxy_protocol_server_addr и $proxy_protocol_server_port, amelyek a PROXY protokoll fejlécéből nyert szervercímet és portot tartalmazzák;
  • A modulban ngx_stream_limit_conn_module változó hozzáadva $limit_conn_status, amely a kapcsolatok számának korlátozásának eredményét tárolja: PASSED, REJECTED vagy REJECTED_DRY_RUN;
  • A modulban ngx_http_limit_req_module változó hozzáadva $limit_req_status, amely a kérések beérkezési sebességének korlátozásának eredményét tárolja: ELFOGADVA, KÉSLELTETETT, REJECTED, DELAYED_DRY_RUN vagy REJECTED_DRY_RUN;
  • Alapértelmezés szerint a modul össze van szerelve ngx_http_halasztás_szűrő_modul;
  • Támogatás hozzáadva a "location" nevű blokkok váltásához a beépített Perl értelmező által biztosított $r->internal_redirect() metódus használatával. Ez a módszer most az URI-k feldolgozását foglalja magában a megtisztított karakterekkel;
  • Ha az „upstream” direktívát használja az „upstream” beállítási blokkbanhash» a terheléselosztás kliens-szerver összerendeléssel történő megszervezéséhez, ha üres kulcsértéket ad meg, az egységes kiegyenlítési mód (round-robin) aktiválódik;
  • Támogatás hozzáadva az ioctl(FIONREAD) hívásához, ha elérhető, hogy elkerülje a gyors kapcsolatból történő olvasást.

Forrás: opennet.ru

Hozzászólás