Rilascio di nginx 1.17.1 e njs 0.3.3

A disposizione rilascio a monte nginx 1.17.1, all'interno del quale continua lo sviluppo di nuove capacità (parallelamente supportate stable ramo 1.16 Vengono apportate solo modifiche relative all'eliminazione di errori gravi e vulnerabilità.

Il principale modifiche:

  • Direttiva aggiunta limit_req_dry_run, che attiva la modalità trial, in cui non vengono applicate restrizioni sull'intensità di elaborazione delle richieste (senza limite di velocità), ma continua a tenere conto del numero di richieste che superano i limiti nella memoria condivisa;
  • Quando si utilizza la direttiva "upstream" nel blocco delle impostazioni "upstream".hash» per organizzare il bilanciamento del carico con collegamento client-server, se si specifica un valore di chiave vuoto, viene ora attivata la modalità di bilanciamento uniforme (round-robin);
  • Risolto un crash del flusso di lavoro quando si utilizzava la cache in combinazione con la direttiva "image_filter" e si reindirizzava il gestore del codice di errore 415 utilizzando la direttiva "error_page";
  • Risolto un arresto anomalo del flusso di lavoro che si verificava durante l'utilizzo dell'interprete Perl integrato.

Inoltre si può notare problema njs 0.3.3, 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 di njs risolve i problemi identificati durante i test di fuzzing. Implementata una variabile globale "processo" con parametri e variabili di ambiente del processo corrente (process.pid, process.env.HOME, ecc.). È possibile scrivere su tutte le proprietà e i metodi integrati. Aggiunta l'implementazione di Array.prototype.fill(). È stato implementato il supporto per la sintassi proposta in ECMAScript 5 procacciatore и setter per associare una proprietà dell'oggetto a una funzione, ad esempio:

var o = {a:2};
Object.defineProperty(o, 'b', {get:function(){return 2*this.a}});

Fonte: opennet.ru

Aggiungi un commento