Izid nginxa 1.22.0

Po 13 mesecih razvoja je predstavljena nova stabilna veja visoko zmogljivega HTTP strežnika in večprotokolnega proxy strežnika nginx 1.22.0, ki je vključila spremembe, zbrane v glavni veji 1.21.x. V prihodnje bodo vse spremembe v stabilni veji 1.22 povezane z odpravo resnih napak in ranljivosti. Kmalu bo oblikovana glavna veja nginx 1.23, v kateri se bomo osredotočili na nadaljnji razvoj novih funkcionalnosti. Običajnim uporabnikom, ki ne potrebujejo zagotavljanja združljivosti z zunanjimi moduli, priporočamo uporabo glavne veje, na osnovi katere se vsakih tri mesece oblikujejo izdaje komercialnega produkta Nginx Plus.

V skladu s aprilsko poročilo podjetja Netcraft se nginx uporablja na 20,08 % vseh aktivnih spletnih strani (pred letom 20,15 %, pred dvema letoma 19,56 %), kar ustreza drugemu mestu po priljubljenosti v tej kategoriji (delež Apache znaša 22,58 % (pred letom 25,38 %), Cloudflare — 10,42 % (8,51 %), Google — 8,89 % (10,09 %). Pri tem pa v obravnavi vseh spletnih mest nginx ohranja vodstvo in zavzema 31,13 % trga (pred letom 35,34 %, pred dvema letoma — 36,91 %), medtem ko delež Apache znaša 23,08 % (25,98 %), OpenResty (platforma na osnovi nginx in LuaJIT) — 8,01 % (6,55 %), Cloudflare — 5,49 %, Microsoft IIS — 4 % (5,96 %).

Med milijonom najbolj obiskanih spletnih strani na svetu delež nginx znaša 21,79 % (pred letom 23,06 %, pred dvema letoma 25,54 %). Trenutno pod upravljanjem nginx deluje okoli 361 milijonov spletnih mest (pred letom 419 milijonov). Po podatkih W3Techs se nginx uporablja na 33,5 % spletnih mest iz milijona najbolj obiskanih, maja lani je ta delež znašal 33,8 %, predlani — 31,9 %. Delež Apache se je v letu dni znižal s 33,8 % na 31,5 %, delež Microsoft IIS pa z 7 % na 6 %. Delež LiteSpeed je zrasel s 8,5 % na 12,1 %, Node.js pa z 1,2 % na 1,9 %. V Rusiji se nginx uporablja na 79,8 % najbolj obiskanih spletnih mest (pred letom — 79,1 %).

Najbolj opazna izboljšanja, dodana v procesu oblikovanja glavne veje 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.
  • V poštni proxy modul je bila dodana podpora za način 'pipelining' za prenos več zahtev POP3 ali IMAP v eni povezavi, prav tako je bila dodana nova direktiva 'max_errors', ki določa največje število protokolskih napak, po katerih bo povezava zaprta.
  • Izvajanje prenosa glav 'Auth-SSL-Protocol' in 'Auth-SSL-Cipher' strežniku avtorizacije poštnega proxyja.
  • Modulu steaml je dodana podpora za TLS razširitev ALPN. Za določanje seznama podprtih protokolov ALPN (h2, http/1.1) je bila predlagana direktiva ssl_alpn, za pridobivanje informacij o protokolu ALPN, ki je bil dogovorjen z odjemalcem, pa spremenljivka $ssl_alpn_protocol.
  • U modul stream dodan je parametar „fastopen“, koji uključuje režim „TCP Fast Open“ za slušne sokete.
  • Uveljavljeno je bilo pobegovanje znakov „«“, „»“, „\“, „^“, „`“, „{“, „|“ in „}“ pri posredovanju z razširjenjem URI.
  • V modul stream je bila dodana direktiva proxy_half_close, s katero lahko nastavite obnašanje pri zapiranju posredovanega TCP povezave na eni od strani („TCP half-close”).
  • V modul ngx_http_mp4_module je bila dodana nova direktiva mp4_start_key_frame za pretakanje video toka, ki se začne z ključnim sličico.
  • Dodana je bila spremenljivka $ssl_curve, ki vrača tip eliptične krivulje, izbrane za dogovor o ključih v seji TLS.
  • V direktivi „sendfile_max_chunk“ je privzeta vrednost spremenjena na 2 megabajta;
  • Zagotovljena je bila združljivost z knjižnico OpenSSL 3.0. Dodana je bila podpora za klic SSL_sendfile() pri uporabi OpenSSL 3.0.
  • Privzeto je vključena gradnja z knjižnico PCRE2, ki nudi funkcije za obdelavo regularnih izrazov.
  • Pri nalaganju potrdil strežnika je bila vzpostavljena uporaba varnostnih ravni, podprtih od OpenSSL 1.1.0 naprej, ki jih določamo z parametrom „@SECLEVEL=N“ v direktivi ssl_ciphers.
  • Podpora za izvozni nabor šifrirnikov je bila ukinjena.
  • V API-ju za filtriranje telesa zahteve je bila omogočena buferizacija obdelanih podatkov.
  • Na platformi FreeBSD je bila izboljšana podpora za sistemski klic sendfile, namenjen organizaciji neposrednega prenosa podatkov med datotečnim descriptorjem in soketom. Načrt sendfile(SF_NODISKIO) je stalno aktiviran, dodana pa je bila tudi podpora za način sendfile(SF_NOCACHE).
  • Podpora za vzpostavljanje HTTP/2 povezav z uporabo razširitve NPN (Next Protocol Negotiation) namesto ALPN je bila ukinjena.
  • Zagotovljen je bil blokiranje HTTP/1.0 poizvedb, ki vključujejo HTTP glavo „Transfer-Encoding“ (ki se je pojavila v različici protokola HTTP/1.1).
  • Okrepljena je bila zaščita pred napadi vrste „HTTP Request Smuggling“ proti sistemom front-end back-end, ki omogočajo vmešavanje v vsebino zahtev drugih uporabnikov, obdelanih v istem toku med front-endom in back-endom. Nginx zdaj vedno vrne napako ob uporabi metode CONNECT; pri sočasnem določenju glav „Content-Length“ in „Transfer-Encoding“; pri prisotnosti presledkov ali kontrolnih znakov v nizu zahtevka, imenu HTTP glave ali v vrednosti glave „Host“.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster