Rilascio di nginx 1.19.1 e njs 0.4.2

Introdotto rilascio di un nuovo ramo principale nginx 1.19.1, all'interno del quale si stanno sviluppando nuove opportunità. Stabile supportato in parallelo ramo 1.18.x Vengono apportate solo modifiche relative all'eliminazione di errori gravi e vulnerabilità. L'anno prossimo, sulla base del ramo principale 1.19.x, verrà formato il ramo stabile 1.20.

Il principale modifiche:

  • Nelle direttive"percorso_cache_proxy',
    "fastcgi_cache_path", "scgi_cache_path" e "uwsgi_cache_path" hanno aggiunto un parametro "min_free" che regola la dimensione della cache in base alla determinazione della dimensione minima dello spazio libero su disco.

  • Direttive"persistente_chiuso", "lingering_time" e "lingering_timeout" sono adattati per funzionare con HTTP/2.
  • Garantisce che tutti i dati non necessari inviati dal backend vengano eliminati.
  • Quando riceve una risposta molto breve dal server FastCGI, Nginx ora tenta di inviare la parte disponibile della risposta al client e quindi chiude la connessione.
  • Quando si riceve una risposta di lunghezza errata dal backend gRPC, Nginx interrompe l'elaborazione della richiesta con un messaggio di errore.
  • Sono stati corretti degli errori, ad esempio è stata garantita la rimozione dei socket Unix in ascolto durante l'elaborazione del segnale SIGQUIT, è stato modificato il proxying dei pacchetti UDP di dimensione zero e il proxying ai backend uwsgi quando si utilizza SSL, è stata corretta la gestione degli errori durante l'utilizzo del Direttiva “ssl_ocsp”, corretto il calcolo errato della dimensione della cache nel file system XFS e NFS.

Contemporaneamente ha avuto luogo problema njs 0.4.2, un interprete JavaScript per il server web nginx. L'interprete njs implementa gli standard ECMAScript e consente di espandere la capacità di nginx di elaborare le richieste utilizzando gli script nella configurazione. Gli script possono essere utilizzati in un file di configurazione per definire la logica avanzata per l'elaborazione delle richieste, la generazione di una configurazione, la generazione dinamica di una risposta, la modifica di una richiesta/risposta o la creazione rapida di stub per risolvere problemi nelle applicazioni web. La nuova versione aggiunge il supporto per RegExp.prototype[Symbol.replace] e %TypedArray%.prototype.sort(). Viene introdotta la possibilità di backtracing riga per riga. Funzioni come mkdir(), readdir() e rmdir() sono state aggiunte al modulo "fs".

Inoltre, il Ministero degli affari interni della Federazione Russa ricevuto conferma delle informazioni sulla chiusura del procedimento penale relativo ai diritti sul software Nginx, nonché il completamento della verifica della decisione presa dall'ufficio del procuratore di supervisione. “Il procedimento penale specificato, avviato il 04.12.2019 dicembre 18.05.2020 per violazione del diritto d'autore da parte di Rambler Internet Holding LLC durante lo sviluppo del software Nginx, è stato chiuso il 1 maggio 1 ai sensi della clausola 24, parte XNUMX dell'art. XNUMX del Codice di procedura penale della Federazione Russa (per mancanza del corpus delicti).” In precedenza, sulla chiusura del procedimento penale segnalati Igor Sysoev, autore di Nginx, ma esisteva ancora la possibilità che questa decisione venisse annullata dalle autorità di vigilanza. Allo stesso tempo, in un tribunale americano continua relativo ai diritti su Nginx, un procedimento contro la società F5 Networks, avviato a seguito della presentazione di una causa da parte dello studio legale Lynwood Investments.

Fonte: opennet.ru

Aggiungi un commento