Lansarea nginx 1.22.0

După 13 luni de dezvoltare, este prezentată noua ramură stabilă a serverului HTTP de înaltă performanță și a proxy-ului multiprotocol nginx 1.22.0, care a inclus modificările acumulate în ramura principală 1.21.x. În continuare, toate modificările din ramura stabilă 1.22 vor fi asociate cu remedierea erorilor grave și vulnerabilităților. În curând va fi formată ramura principală nginx 1.23, în care se va continua dezvoltarea noilor funcționalități. Pentru utilizatorii obișnuiți, care nu trebuie să asigure compatibilitatea cu module terțe, se recomandă utilizarea ramurii principale, pe baza căreia se formează versiuni ale produsului comercial Nginx Plus la fiecare trei luni.

Conform raportului din aprilie al companiei Netcraft, nginx este folosit pe 20.08% din toate site-urile active (cu un an în urmă 20.15%, cu doi ani în urmă 19.56%), ceea ce corespunde locului doi în popularitate în această categorie (cota Apache este de 22.58% (cu un an în urmă 25.38%), Cloudflare – 10.42% (8.51%), Google – 8.89% (10.09%). În același timp, când se iau în considerare toate site-urile, nginx menține conducerea și deține 31.13% din piață (cu un an în urmă 35.34%, cu doi ani în urmă – 36.91%), în timp ce cota Apache este de 23.08% (25.98%), OpenResty (platformă bazată pe nginx și LuaJIT) – 8.01% (6.55%), Cloudflare – 5.49%, Microsoft IIS – 4% (5.96%).

Printre cele mai vizitate un milion de site-uri din lume, cota nginx reprezintă 21.79% (cu un an în urmă 23.06%, cu doi ani în urmă 25.54%). În prezent, aproximativ 361 milioane de site-uri funcționează sub gestionarea nginx (cu un an în urmă 419 milioane). Potrivit W3Techs, nginx este utilizat pe 33.5% din site-urile din cele mai vizitate un milion, în mai anul trecut acest indicator era de 33.8%, iar înainte de anul trecut – 31.9%. Cota Apache a scăzut în decurs de un an de la 33.8% la 31.5%, iar cota Microsoft IIS de la 7% la 6%. Cota LiteSpeed a crescut de la 8.5% la 12.1%, iar Node.js de la 1.2% la 1.9%. În Rusia, nginx este utilizat pe 79.8% din cele mai vizitate site-uri (cu un an în urmă – 79.1%).

Cele mai notabile îmbunătățiri adăugate în procesul de formare a ramurii principale 1.21.x:

  • În directivele „proxy_ssl_certificate”, „proxy_ssl_certificate_key”, „grpc_ssl_certificate”, „grpc_ssl_certificate_key”, „uwsgi_ssl_certificate” și „uwsgi_ssl_certificate_key” a fost adăugat suport pentru variabile.
  • Modul de proxy poștal a adăugat suport pentru modul „pipelining” pentru transmiterea mai multor cereri POP3 sau IMAP într-o singură conexiune, precum și o nouă directivă „max_errors”, care definește numărul maxim de erori de protocol după care conexiunea va fi închisă.
  • S-a implementat transmiterea antetelor „Auth-SSL-Protocol” și „Auth-SSL-Cipher” server autentificării proxy-ului poștal.
  • Modulul stream a adăugat suport pentru extensia TLS ALPN. Pentru a determina lista de protocoale acceptate ALPN (h2, http/1.1), a fost propusă o directivă ssl_alpn, iar pentru obținerea informațiilor despre protocolul ALPN convenit cu clientul, se utilizează variabila $ssl_alpn_protocol.
  • Modulului stream i s-a adăugat parametrul „fastopen”, care activează modul „TCP Fast Open” pentru socket-urile de ascultare.
  • S-a stabilit escavasarea caracterelor „»”, „«”, „\”, „^”, „`”, „{„, „|” și „}” în timpul proxy-ului cu modificarea URI.
  • Modulului stream i s-a adăugat directiva proxy_half_close, care permite configurarea comportamentului la închiderea conexiunii TCP proxy pe una dintre părți („TCP half-close”).
  • Modulului ngx_http_mp4_module i s-a adăugat noua directivă mp4_start_key_frame pentru difuzarea fluxului video, începând cu cadru cheie.
  • A fost adăugată variabila $ssl_curve, care returnează tipul de curbă eliptică ales pentru negocierea cheie în sesiunea TLS.
  • În directiva „sendfile_max_chunk”, valoarea implicită a fost schimbată la 2 megabytes;
  • S-a asigurat compatibilitatea cu biblioteca OpenSSL 3.0. A fost adăugat suportul pentru apelul SSL_sendfile() atunci când se utilizează OpenSSL 3.0.
  • S-a activat implicit compilarea cu biblioteca PCRE2, care oferă funcții pentru procesarea expresiilor regulate.
  • La încărcarea certificatelor server s-a stabilit utilizarea nivelurilor de securitate suportate începând cu OpenSSL 1.1.0, care sunt specificate prin parametrul „@SECLEVEL=N” în directiva ssl_ciphers.
  • A fost suspendat suportul pentru setul de criptare export.
  • În API-ul de filtrare a corpului cererii, s-a permis buffering-ul datelor procesate.
  • Pe platforma FreeBSD s-a îmbunătățit suportul pentru apelul de sistem sendfile, destinat organizării transferului direct de date între un descriptor de fișier și un socket. Este activat constant modul sendfile(SF_NODISKIO) și a fost adăugat suport pentru modul sendfile(SF_NOCACHE).
  • A fost suspendat suportul pentru stabilirea conexiunilor HTTP/2 utilizând extensia NPN (Next Protocol Negotiation) în loc de ALPN.
  • A fost asigurată blocarea solicitărilor HTTP/1.0 care includ antetul HTTP „Transfer-Encoding” (apărut în versiunea protocolului HTTP/1.1).
  • S-a întărit protecția împotriva atacurilor de tip „HTTP Request Smuggling” asupra sistemelor frontend-backend, care permit infiltrarea în conținutul solicitărilor altor utilizatori, procesate în același flux între frontend și backend. Nginx acum întotdeauna returnează o eroare când se folosește metoda CONNECT; atunci când sunt specificate simultan antetele „Content-Length” și „Transfer-Encoding”; în prezența spațiilor sau caracterelor de control în linia de solicitare, numele antetului HTTP sau în valoarea antetului „Host”.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster