Rilascio di nginx 1.17.9 e njs 0.3.9

Formato rilascio a monte nginx 1.17.9, 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:

  • È vietato specificare più righe "Host" nel file
    intestazione della richiesta;

  • Risolto un bug per cui nginx ignorava righe aggiuntive
    "Transfer-Encoding" nell'intestazione della richiesta;

  • Sono state apportate correzioni per prevenire perdite di socket durante l'utilizzo del protocollo HTTP/2;
  • Risolto un errore di segmentazione nel processo di lavoro che si verificava quando si utilizza la pinzatura OCSP;
  • Sono state apportate correzioni al modulo ngx_http_mp4_module;
  • Risolto un problema nei casi in cui durante il reindirizzamento degli errori con il codice 494 utilizzando la direttiva 'error_page', poteva essere restituita una risposta con il codice 494 invece di 400;
  • Risolte le perdite di socket durante l'utilizzo delle sottoquery nel modulo njs e nella direttiva aio.

Inoltre si può notare problema njs 0.3.9, 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.

Nella nuova versione, il modulo njs ha aggiunto il supporto per la modalità di richiesta distaccata in r.subrequest(). Le risposte alle sottoquery scollegate vengono ignorate. A differenza delle sottoquery regolari, è possibile creare una sottoquery separata all'interno di un gestore di variabili. Anche:

  • Aggiunte API Promise per il modulo "fs";
  • Al modulo “fs” sono state aggiunte le funzioni access(), symlink(), unlink().
    realpath() e simili;

  • Sono stati introdotti gli array ordinari, efficienti in termini di consumo di memoria;
  • Sono stati apportati miglioramenti al lexer;
  • È stata apportata una correzione alla mappatura delle funzioni native nei backtrace.
    tracce;

  • Risolte le chiamate di richiamata nel modulo “fs”;
  • Sono state apportate correzioni a Object.getOwnPropertySymbols();
  • Risolto il problema con l'overflow del buffer heap in njs_json_append_string();
  • Risolti i problemi relativi a encodeURI() e decodeURI() per conformarsi alle specifiche;
  • Correzione di Number.prototype.toPrecision();
  • Risolta la gestione dell'argomento spazio in JSON.stringify();
  • Correzione di JSON.stringify() con oggetti Number() e String();
  • Fornito l'escape dei caratteri Unicode in JSON.stringify() in base a
    con specifica;

  • È stata apportata una correzione all'importazione di moduli non nativi;
  • È stata corretta una correzione per njs.dump() con un'istanza Date() nel contenitore.

Fonte: opennet.ru

Aggiungi un commento