Rilascio di nginx 1.28.0 e del fork FreeNginx 1.28.0

Dopo un anno di sviluppo, è stata pubblicata una nuova versione stabile dell'HTTP server ad alte prestazioni e server proxy multi-protocollo nginx 1.28.0, che incorpora le modifiche accumulate nella branch principale 1.27.x. In futuro, tutte le modifiche nella branch stabile 1.28 saranno focalizzate sulla correzione di errori gravi e vulnerabilità. A breve sarà creata la branch principale nginx 1.29, dove continuerà lo sviluppo di nuove funzionalità. Per gli utenti comuni, che non hanno la necessità di garantire la compatibilità con moduli di terze parti, è consigliato utilizzare la branch principale, sulla quale vengono effettuate release trimestrali del prodotto commerciale Nginx Plus.

Secondo il rapporto di marzo di Netcraft, circa 245 milioni di siti web sono gestiti da nginx (245 milioni un anno fa, 289 milioni due anni fa). Nginx è utilizzato dal 17,89% di tutti i siti web attivi (18,15% un anno fa, 18,94% due anni fa), il che corrisponde al primo posto in popolarità in questa categoria (la quota di Apache è del 16,03% (20,09% un anno fa, 20,52% due anni fa), Cloudflare - 17,81% (14,12%, 11,32%), Google - 9,89% (10,41%, 9,89%).

Considerando tutti i siti, nginx mantiene la sua leadership con una quota del 20,48% del mercato (l'anno scorso era del 22,31%, due anni fa del 25,94%), mentre la quota di Apache corrisponde al 16,03% (20,17%, 20,58%), Cloudflare al 12,87% (11,24%, 10,17%) e OpenResty (piattaforma basata su nginx e LuaJIT) al 9,36% (7,93%, 7,94%).

Tra il milione di siti più visitati al mondo, nginx occupa il secondo posto con una quota del 20,37% (l'anno scorso era del 20,63%, due anni fa del 21,37%). Il primo posto è mantenuto da Cloudflare con il 22,32% (l'anno scorso era del 22,59%, due anni fa del 21,62%). La quota di Apache httpd è del 17,95% (20,09%, 21,18%).

Secondo W3Techs, nginx è utilizzato su 33,8% dei siti del milione più visitati (ad aprile dello scorso anno questo dato era del 34,3%, due anni fa del 34,5%). La quota di Apache è diminuita nell'ultimo anno dal 30,1% al 26,3%, mentre la quota di Microsoft IIS è scesa dal 5% al 4%. La quota di Node.js è aumentata dal 3,2% al 4,4%, e la quota di LiteSpeed è passata dal 12,9% al 14,6%.

I miglioramenti più significativi, aggiunti nel corso della formazione del ramo principale 1.27.x:

  • Per le connessioni che utilizzano il protocollo QUIC, è stata aggiunta la supporto dell'algoritmo di gestione del congestionamento CUBIC (RFC 9438), il cui funzionamento prevede un incremento graduale della dimensione della finestra di congestione fino alla perdita di pacchetti, dopo di che la dimensione della finestra viene riportata ai valori precedenti alla perdita. Nei test condotti, l'uso di CUBIC ha consentito una riduzione del tempo di trasferimento di un file di 500 MB del 24% con ritardi di 40 ms e BDP di 750K (Bandwidth Delay Product) e del 73% con ritardi di 100 ms e BDP di 9M.
  • Nel modulo stream è stata aggiunta la supporto per la verifica della revoca dei certificati dei clienti utilizzando il protocollo OCSP (Online Certificate Status Protocol).
  • Nel modulo stream è stata implementata la supporto per la tecnica di verifica della revoca dei certificati OCSP Stapling, secondo cui, durante il handshake TLS, la risposta OCSP firmata dall'autorità di certificazione viene trasmessa dal server che gestisce il sito, senza necessità di contattare direttamente l'autorità di certificazione.
  • Durante l'avvio e l'aggiornamento della configurazione è stato implementato il caching certificati SSL, delle chiavi e della CRL (Certificate Revocation List).
  • Sono state aggiunte funzionalità per ridurre il consumo di risorse e diminuire il carico sulla CPU durante l'uso di TLS in configurazioni con un numero elevato di blocchi server e location. Le modifiche introdotte permettono di utilizzare un contesto SSL esistente dal blocco padre, invece di creare un contesto SSL separato per ciascun blocco di configurazione (SSL_CTX in OpenSSL).
  • Nella direttiva «ssl_client_certificate» è stata introdotta la supporto per certificati con informazioni aggiuntive.
  • Per la verifica dei certificati SSL client, la direttiva «ssl_client_certificate» non è più obbligatoria.
  • Nel modulo ngx_mail_proxy_module è stata aggiunta la supporto per la modalità IMAP LOGIN specifica per SmarterMail con risposta CAPABILITY non etichettata.
  • Nel modulo ngx_http_proxy_module è stata aggiunta la direttiva «proxy_pass_trailers», che consente la trasmissione dei campi di intestazione alla fine della risposta dal server proxy al client.
  • Nella direttiva «server», utilizzata nel blocco «upstream», è stata aggiunta la supporto per il parametro «resolve», che attiva il monitoraggio delle modifiche Indirizzi IP per nome di dominio utilizzato e l'aggiornamento automatico della configurazione del blocco «upstream» senza la necessità di riavviare nginx in caso di modifica dell'indirizzo.
  • È stata aggiunta la possibilità di utilizzare variabili nelle direttive «proxy_limit_rate», «fastcgi_limit_rate», «scgi_limit_rate» e «uwsgi_limit_rate».
  • Nelle direttive «proxy_bind», «fastcgi_bind», «grpc_bind», «memcached_bind», «scgi_bind» e «uwsgi_bind», così come nell'indirizzo client del modulo ngx_http_realip_module, è permesso specificare indirizzi IPv6 tra parentesi quadre senza il numero di porta.
  • È stata aggiunta la direttiva «keepalive_min_timeout», che definisce il timeout durante il quale nginx non chiuderà la connessione keep-alive con il client.
  • Per impostazione predefinita, i protocolli TLSv1 e TLSv1.1 sono disabilitati.
  • Sono stati risolti problemi di caricamento prolungato dei file di configurazione a causa della ripetuta analisi dello stesso insieme di certificati TLS, chiavi e elenchi di autorità di certificazione. È stata accelerata la ricarica della configurazione grazie al riutilizzo di oggetti TLS non modificati, come certificati, chiavi e CRL. È stata aggiunta la direttiva «ssl_object_cache_inheritable» per disattivare l'ereditarietà degli oggetti durante l'aggiornamento della configurazione.
  • È stata aggiunta la cache per i certificati e le chiavi caricati utilizzando variabili nelle direttive (ad esempio, «ssl_certificate /etc/ssl/$ssl_server_name.crt»). Sono state aggiunte le direttive «ssl_certificate_cache», «proxy_ssl_certificate_cache», «grpc_ssl_certificate_cache» e «uwsgi_ssl_certificate_cache» per gestire la cache. Attraverso queste direttive è possibile configurare la dimensione massima della cache, il tempo di validità delle voci e il tempo di pulizia delle voci non utilizzate. Ad esempio: «ssl_certificate_cache max=1000 inactive=20s valid=1m;».
  • Ridotto il consumo di memoria durante l'elaborazione delle richieste a lungo termine nelle configurazioni che utilizzano le direttive «gzip», «gunzip», «ssi», «sub_filter» o «grpc_pass».
  • La dimensione massima delle sessioni SSL memorizzate nella cache in memoria condivisa è stata aumentata a 8192.
  • Riportata in funzionamento la build con la libreria C Musl.
  • Ottimizzata la performance e risolti errori nell'implementazione di HTTP/3.

In aggiunta, si segnala la pubblicazione del rilascio del progetto FreeNginx 1.28.0, un fork di Nginx. Lo sviluppo del fork è guidato da Maxim Dunin, uno dei principali sviluppatori di Nginx. FreeNginx è posizionato come un progetto non commerciale, che garantisce lo sviluppo della base di codice di Nginx senza interferenze aziendali. Tra le modifiche specifiche nel ramo FreeNginx 1.28:

  • Il parametro «off» nella direttiva «pid» disabilita la creazione del file PID.
  • Limitazione dell'intensità di registrazione dei messaggi nel log degli errori per proteggere contro il riempimento del log con messaggi di routine.
  • Implementazione del parametro multipath nella direttiva listen per supportare Multipath TCP.
  • Supporto per l'intestazione HTTP «Age» per determinare il tempo di vita delle voci nella cache.
  • Aggiunta dei metodi di autenticazione XOAUTH2 e OAUTHBEARER nel modulo mail_proxy.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster