nginx 1.18.0 izdanje

Nakon godinu dana razvoja predstavljen nova stabilna grana HTTP servera visokih performansi i multiprotokolnog proxy servera nginx 1.18.0, koji je apsorbirao promjene akumulirane unutar glavne grane 1.17.x. U budućnosti će se sve promjene u stabilnoj grani 1.18 odnositi na eliminaciju ozbiljnih grešaka i ranjivosti. Uskoro će se formirati glavna grana nginxa 1.19 u okviru koje će se nastaviti razvoj novih karakteristika. Za obične korisnike koji nemaju zadatak osigurati kompatibilnost sa modulima treće strane, preporučuje se koristite glavnu granu, na osnovu koje se svaka tri mjeseca formiraju izdanja komercijalnog proizvoda Nginx Plus.

U skladu sa Aprilski izvještaj Netcraft nginx se koristi na 19.56% svih aktivnih sajtova (pre godinu dana 20.73%, pre dve godine 21.02%), što odgovara drugom mestu po popularnosti u ovoj kategoriji (Apacheov udeo odgovara 27.64%, Google - 10.03%, Microsoft IIS - 4.77%) . Istovremeno, kada se posmatraju svi sajtovi, nginx zadržava liderstvo i zauzima 36.91% tržišta (pre godinu dana 27.52%), dok udeo Apache-a odgovara 24.73%, Microsoft IIS-a - 12.85%, Google-a - 3.42%.

Među milion najposjećenijih sajtova na svetu, udeo nginxa je 25.54% (pre godinu dana 26.22%, pre dve godine 23.76%). Trenutno, oko 459 miliona web stranica koristi Nginx (397 miliona prije godinu dana). By dato W3Techs nginx se koristi na 31.9% sajtova od milion najposećenijih, u aprilu prošle godine ta brojka je bila 41.8%, godinu ranije - 38% (pad se objašnjava prelaskom na odvojeno računovodstvo Cloudflare http servera). Udio Apachea je tokom godine pao sa 43.6% na 38.9%, a Microsoft IIS-a sa 8.6% na 8.3%. U Rusiji nginx polovan na 78.9% najposjećenijih sajtova (prije godinu dana - 81%).

Najznačajnija poboljšanja dodata tokom razvoja 1.17.x upstream grane:

  • Dodata direktiva limit_req_dry_run, koji aktivira režim probnog rada, u kojem se ne primenjuju ograničenja na intenzitet obrade zahteva (bez ograničenja brzine), ali nastavlja da uzima u obzir broj zahteva koji prelaze ograničenja u deljenoj memoriji;
  • Dodata direktiva limit_conn_dry_run, koji prebacuje modul ngx_http_limit_conn_module u režim probnog rada, u kojem broj veza nije ograničen, ali se uzima u obzir;
  • Dodata direktiva "auth_delay", koji vam omogućava da dodate odgodu neovlaštenim zahtjevima s kodom odgovora 401 kako biste smanjili intenzitet pogađanja lozinke i zaštitili od napada, manipuliranje mjerenjem vremena izvršenja operacija (tajming napad) pri pristupu sistemima kojima je pristup ograničen lozinka, rezultat podupita ili J.W.T. (JSON Web Token);
  • Dodata podrška za varijable u direktivama "limit_rate" i "limit_rate_after", kao i u direktivama "proxy_upload_rate" i "proxy_download_rate" modula streama;
  • U direktivi grpc_pass dodana podrška za korištenje varijable u parametru koji definira adresu. Ako je adresa specificirana kao ime domene, ime se pretražuje među opisanim grupama servera, a ako se ne pronađe, onda se utvrđuje pomoću razrjeđivača;
  • Dodane su nove varijable $proxy_protocol_server_addr и $proxy_protocol_server_port, koji sadrže adresu servera i port dobijen iz zaglavlja PROXY protokola;
  • U modulu ngx_stream_limit_conn_module dodata varijabla $limit_conn_status, koji pohranjuje rezultat ograničenja broja veza: PASSED, REJECTED ili REJECTED_DRY_RUN;
  • U modulu ngx_http_limit_req_module dodata varijabla $limit_req_status, koji pohranjuje rezultat ograničavanja brzine pristizanja zahtjeva: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN ili REJECTED_DRY_RUN;
  • Podrazumevano, modul je sastavljen ngx_http_postpone_filter_module;
  • Dodata podrška za prebacivanje imenovanih blokova "lokacija" pomoću metode $r->internal_redirect() koju obezbjeđuje ugrađeni Perl interpreter. Ova metoda sada uključuje obradu URI-ja sa escape-oznakama;
  • Kada koristite “upstream” direktivu u bloku postavki “upstream”.hash» da organizujete balansiranje opterećenja sa povezivanjem klijent-server, ako navedete praznu vrednost ključa, sada je aktiviran uniformni režim balansiranja (round-robin);
  • Dodata podrška za pozivanje ioctl(FIONREAD) ako je dostupna kako bi se izbjeglo čitanje sa brze veze tokom vremena.

izvor: opennet.ru

Dodajte komentar