Llançament de nginx 1.17.1 i njs 0.3.3

Disponible llançament de branca mestra nginx 1.17.1, dins del qual continua el desenvolupament de noves característiques (en un paral·lel suport estable branca 1.16 només es fan canvis relacionats amb l'eliminació d'errors greus i vulnerabilitats.

El principal canvis:

  • Directiva afegida limit_req_dry_run, que activa el mode d'execució de prova, en què no s'apliquen restriccions sobre la intensitat del processament de sol·licituds (sense límit de velocitat), però continua tenint en compte el nombre de peticions que superen els límits de la memòria compartida;
  • Quan utilitzeu la directiva "aigües amunt" al bloc de configuració "amunt".haixix» per organitzar l'equilibri de càrrega amb l'enllaç client-servidor, si especifiqueu un valor de clau buit, ara s'activa el mode d'equilibri uniforme (round-robin);
  • S'ha solucionat un error del flux de treball quan s'utilitzava la memòria cau en combinació amb la directiva "image_filter" i es redirigeix ​​el controlador del codi d'error 415 mitjançant la directiva "error_page";
  • S'ha solucionat un error del flux de treball que es produïa quan s'utilitzava l'intèrpret de Perl integrat.

A més, es pot assenyalar qüestió njs 0.3.3, un intèrpret de JavaScript per al servidor web nginx. L'intèrpret njs implementa els estàndards ECMAScript i us permet ampliar la capacitat de nginx per processar sol·licituds mitjançant scripts a la configuració. Els scripts es poden utilitzar en un fitxer de configuració per definir la lògica avançada per processar les sol·licituds, generar una configuració, generar dinàmicament una resposta, modificar una sol·licitud/resposta o crear ràpidament stubs per resoldre problemes en aplicacions web.

La nova versió de njs soluciona els problemes identificats durant les proves de fuzzing. S'ha implementat una variable global “procés” amb paràmetres i variables d'entorn del procés actual (process.pid, process.env.HOME, etc.). Es poden escriure a totes les propietats i mètodes integrats. S'ha afegit la implementació de Array.prototype.fill(). S'ha implementat el suport per a la sintaxi proposada a ECMAScript 5 captador и posador per vincular una propietat d'objecte a una funció, per exemple:

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

Font: opennet.ru

Afegeix comentari