Rilascio di nginx 1.25.3, njs 0.8.2 e NGINX Unit 1.31.1

È stata rilasciata la versione principale nginx 1.25.3, nell'ambito della quale continua lo sviluppo di nuove funzionalità. Nella branch stabile supportata parallelamente 1.24.x vengono apportate solo modifiche legate alla correzione di gravi errori e vulnerabilità. In futuro, sulla base della branch principale 1.25.x sarà formata la branch stabile 1.26. Il codice del progetto è scritto in C e distribuito sotto licenza BSD.

Tra le novità:

  • Rafforzata la protezione contro attività anomale dei clienti HTTP/2, e, in particolare, contro gli attacchi DoS di tipo 'Rapid Reset', nei quali viene creato un grande numero di flussi resettati simultaneamente all'interno di una singola connessione HTTP/2. Nella configurazione predefinita, tali attacchi si scontrano con il limite sul numero di richieste per connessione 'keepalive_requests' (dopo ogni 1000 richieste la connessione verrà resettata) e con le limitazioni 'limit_req'. Per una risposta più rapida a inondazioni di richieste attraverso un gran numero di flussi, è stata aggiunta una limitazione aggiuntiva che impedisce di creare per impostazione predefinita più di 256 (2 * max_concurrent_streams) nuovi flussi per ciascun ciclo di elaborazione degli eventi. La nuova limitazione consente di iniziare a bloccare le richieste prima di raggiungere il limite totale sul numero di flussi simultanei, ad esempio quando i flussi vengono elaborati in modo asincrono o resettati. Una modifica simile è stata inclusa anche nella versione angie 1.3.1 (fork di nginx), pubblicata una settimana fa.
  • Migliorato il controllo dei buffer utilizzati per la determinazione automatica delle connessioni HTTP/2.
  • Aumentata la performance di avvio delle configurazioni con un gran numero di direttive 'location'.
  • Risolto un crash del processo di lavoro osservato quando si tenta di utilizzare HTTP/2 senza SSL.
  • Corretta la gestione errata dell'intestazione 'Status' restituita dal backend con testo descrittivo vuoto.
  • Eliminata una perdita di memoria durante la riconfigurazione, che si verificava quando si compilava con la libreria PCRE2.
  • Apportata una grande quantità di correzioni e miglioramenti legati al supporto del protocollo HTTP/3.

È stato rilasciato anche njs 0.8.2, un interprete per il linguaggio JavaScript per il server web. nginx. L'interprete njs implementa gli standard ECMAScript e consente di estendere le funzionalità di nginx nella gestione delle richieste attraverso script nella configurazione. Gli script possono essere utilizzati nel file di configurazione per definire una logica avanzata di gestione delle richieste, formare configurazioni, generare dinamicamente risposte, modificare richieste/risposte o creare rapidamente stub per risolvere problemi nelle web applicazioni. Nella nuova versione è stato aggiunto l'oggetto console, che fornisce i metodi error(), info(), log(), time(), timeEnd() e warn(). Nel modulo fs è stato aggiunto il metodo fs.existsSync().

Si segnala anche la pubblicazione del server applicazioni NGINX Unit 1.31.1, che fornisce una soluzione per l'esecuzione di web applicazioni in vari linguaggi di programmazione (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js e Java). Sotto la gestione di NGINX Unit è possibile eseguire simultaneamente più applicazioni in diversi linguaggi di programmazione, i parametri di avvio dei quali possono essere modificati dinamicamente senza la necessità di modificare i file di configurazione e senza riavviare. Oltre alla correzione di errori, nella nuova versione è stata consentita la carica di dati superiori ai 4 GB nel modulo Wasm, e nella risposta è stata fornita la possibilità di impostare codici di stato HTTP.

Fonte: opennet.ru

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