Lanzamiento de nginx 1.17.1 y njs 0.3.3

Disponible lanzamiento de la rama principal nginx 1.17.1, en la cual continúa el desarrollo de nuevas funcionalidades (en la rama estable que se mantiene paralelamente rama 1.16 se realizan únicamente cambios relacionados con la corrección de errores graves y vulnerabilidades.

Principales cambios:

  • Se ha añadido la directiva limit_req_dry_run, que activa el modo de prueba, en el que no se aplican restricciones sobre la intensidad del procesamiento de solicitudes (sin limitación de tasa), pero continúa el registro del número de solicitudes que exceden los límites en la memoria compartida;
  • Al usar la directiva «hash» en el bloque de configuración «upstream» para organizar la distribución de carga atada al servidor, si se especifica un valor vacío para la clave, ahora se activa el modo de distribución uniforme (round-robin);
  • Se solucionó el fallo del proceso de trabajo al usar la caché junto con la directiva «image_filter» y redirigir el manejador del código de error 415 utilizando la directiva «error_page»;
  • Se solucionó el fallo del proceso de trabajo que ocurría al usar el intérprete Perl incorporado.

También se puede destacar lanzamiento njs 0.3.3, el intérprete de lenguaje JavaScript para el servidor web nginx. El intérprete njs implementa estándares ECMAScript y permite ampliar las capacidades de nginx para procesar solicitudes mediante scripts en la configuración. Los scripts pueden ser utilizados en el archivo de configuración para definir una lógica de procesamiento de solicitudes más avanzada, configurar, generar dinámicamente respuestas, modificar solicitudes/respuestas o crear rápidamente soluciones para problemas en aplicaciones web.

En la nueva versión de njs se han corregido problemas identificados durante pruebas de fuzzing. Se ha implementado la variable global «process» con parámetros y variables de entorno del proceso actual (process.pid, process.env.HOME, etc.). Se ha proporcionado la posibilidad de escritura en todas las propiedades y métodos integrados. Se añadió la implementación de Array.prototype.fill(). Se implementó el soporte para la sintaxis propuesta en ECMAScript 5. getter y setter para atar la propiedad de un objeto a una función, por ejemplo:

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

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster