Izdanje nginx 1.22.0

Nakon 13 mjeseci razvoja predstavljena je nova stabilna verzija visokoperformantnog HTTP poslužitelja i višepotoknog proksija nginx 1.22.0, koja uključuje promjene akumulirane u glavnoj verziji 1.21.x. U budućnosti će sve izmjene u stabilnoj verziji 1.22 biti fokusirane na ispravljanje ozbiljnih grešaka i ranjivosti. Uskoro će biti formirana glavna verzija nginx 1.23, koja će nastaviti s razvojem novih mogućnosti. Za obične korisnike, koji nemaju potrebu osigurati kompatibilnost s vanjskim modulima, preporučuje se korištenje glavne verzije, na temelju koje se svake tri mjeseca formiraju izdanja komercijalnog proizvoda Nginx Plus.

Prema izvještaju tvrtke Netcraft iz travnja, nginx se koristi na 20.08% svih aktivnih stranica (prije godinu dana 20.15%, prije dvije godine 19.56%), što odgovara drugom mjestu po popularnosti u ovoj kategoriji (dijela Apache odgovara 22.58% (prije godinu dana 25.38%), Cloudflare — 10.42% (8.51%), Google — 8.89% (10.09%). Kada se razmatraju sve stranice, nginx zadržava vodeću poziciju s udjelom od 31.13% na tržištu (prije godinu dana 35.34%, prije dvije godine — 36.91%), dok udio Apachea iznosi 23.08% (25.98%), OpenResty (platforma na bazi nginx i LuaJIT) — 8.01% (6.55%), Cloudflare — 5.49%, Microsoft IIS — 4% (5.96%).

Među milijun najposjećenijih stranica na svijetu, udio nginx-a iznosi 21.79% (prije godinu dana 23.06%, prije dvije godine 25.54%). Trenutačno pod upravom nginx-a radi oko 361 milijuna stranica (prije godinu dana 419 milijuna). Prema podacima W3Techs, nginx se koristi na 33.5% stranica iz milijuna najposjećenijih, u svibnju prošle godine taj omjer iznosio je 33.8%, a pretprošle — 31.9%. Udio Apache-a je tijekom godine smanjen s 33.8% na 31.5%, dok je udio Microsoft IIS opao s 7% na 6%. Udio LiteSpeed je porastao s 8.5% na 12.1%, a Node.js s 1.2% na 1.9%. U Rusiji nginx se koristi na 79.8% najposjećenijih stranica (prije godinu dana — 79.1%).

Najistaknutija poboljšanja dodana u procesu formiranja glavne verzije 1.21.x:

  • U direktivama „proxy_ssl_certificate“, „proxy_ssl_certificate_key“, „grpc_ssl_certificate“, „grpc_ssl_certificate_key“, „uwsgi_ssl_certificate“ i „uwsgi_ssl_certificate_key“ dodana je podrška za varijable.
  • U poštanskom proksi-modulu dodana je podrška za 'pipelining' način rada za prijenos više POP3 ili IMAP zahtjeva u jednom povezivanju, a također je dodana nova direktiva 'max_errors', koja određuje maksimalan broj grešaka protokola nakon kojih će se veza zatvoriti.
  • Implementirano je prosljeđivanje zaglavlja 'Auth-SSL-Protocol' i 'Auth-SSL-Cipher' poslužitelju za autentifikaciju poštanskog proksija.
  • Modul stream dobio je podršku za TLS proširenje ALPN. Za određivanje popisa podržanih ALPN protokola (h2, http/1.1) predložena je direktiva ssl_alpn, a za dobivanje informacija o dogovorenom protokolu ALPN s klijentom koristi se varijabla $ssl_alpn_protocol.
  • U modul stream dodat je parametar „fastopen“, koji uključuje način „TCP Fast Open“ za slušne sokete.
  • Postavljeno je ispravno kodiranje simbola «»», «», «\», «^», «`», «{«, «|» i «}» prilikom proksiranja uz promjenu URI.
  • Modul stream dobio je direktivu proxy_half_close koja omogućava podešavanje ponašanja prilikom zatvaranja proksiranog TCP povezivanja s jedne strane (»TCP half-close«).
  • Modulu ngx_http_mp4_module dodana je nova direktiva mp4_start_key_frame za emitiranje video toka počevši od ključnog okvira.
  • Dodana je varijabla $ssl_curve koja vraća tip eliptične krivulje odabrane za usklađivanje ključeva u TLS sesiji.
  • U direktivi «sendfile_max_chunk» zadana vrijednost promijenjena je na 2 megabajta;
  • Osigurana je kompatibilnost s OpenSSL 3.0 bibliotekom. Dodana je podrška za pozivanje SSL_sendfile() prilikom korištenja OpenSSL 3.0.
  • Zadano je uključena verzija s PCRE2 bibliotekom, koja pruža funkcije za obradu regularnih izraza.
  • Prilikom učitavanja certifikata poslužitelja postavljena je upotreba sigurnosnih razina podržanih od OpenSSL 1.1.0 pa nadalje, određivanih putem parametra «@SECLEVEL=N» u direktivi ssl_ciphers.
  • Prekinuta je podrška za izvozni set kriptografskih algoritama.
  • U API-ju filtriranja tijela zahtjeva dopušteno je korištenje međuspremnika za obrađene podatke.
  • Na FreeBSD platformi poboljšana je podrška za sistemski poziv sendfile, namijenjen za izravni prijenos podataka između datotečnog deskriptora i soketa. Stalno je aktiviran način sendfile(SF_NODISKIO) i dodana je podrška za način sendfile(SF_NOCACHE).
  • Prekida se podrška za uspostavljanje HTTP/2 veza korištenjem NPN (Next Protocol Negotiation) proširenja umjesto ALPN-a.
  • Omogućena je blokada HTTP/1.0 zahtjeva koji uključuju HTTP zaglavlje 'Transfer-Encoding' (pojavilo se u verziji protokola HTTP/1.1).
  • Ojačana je zaštita od napada tipa «HTTP Request Smuggling» na front-end i back-end sustave, koji omogućuju ubacivanje u sadržaj zahtjeva drugih korisnika obrađivanih u istom toku između front-enda i back-enda. Nginx sada uvijek vraća grešku prilikom korištenja CONNECT metode; uz istodobno navođenje «Content-Length» i «Transfer-Encoding» zaglavlja; u prisustvu razmaka ili kontrolnih simbola u URI-u, nazivu HTTP zaglavlja ili u vrijednosti «Host» zaglavlja.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster