Lanzamiento de nginx 1.17.1 y njs 0.3.3

Disponible liberación de la rama maestra nginx 1.17.1, dentro del cual continúa el desarrollo de nuevas funciones (en un entorno estable con soporte paralelo rama 1.16 Solo se realizan cambios relacionados con la eliminación de errores y vulnerabilidades graves.

El principal cambios:

  • Directiva añadida limit_req_dry_run, que activa el modo de ejecución de prueba, en el que no se aplican restricciones en la intensidad del procesamiento de solicitudes (sin límite de velocidad), pero continúa teniendo en cuenta la cantidad de solicitudes que exceden los límites en la memoria compartida;
  • Cuando se utiliza la directiva "upstream" en el bloque de configuración "upstream"hachís» para organizar el equilibrio de carga con enlace cliente-servidor, si especifica un valor de clave vacío, ahora se activa el modo de equilibrio uniforme (round-robin);
  • Se corrigió un bloqueo del flujo de trabajo al usar el caché en combinación con la directiva "image_filter" y redirigir el controlador del código de error 415 usando la directiva "error_page";
  • Se corrigió un bloqueo del flujo de trabajo que ocurría al usar el intérprete de Perl integrado.

Adicionalmente, se puede señalar cuestión njs 0.3.3, un intérprete de JavaScript para el servidor web nginx. El intérprete njs implementa los estándares ECMAScript y le permite ampliar la capacidad de nginx para procesar solicitudes utilizando scripts en la configuración. Los scripts se pueden utilizar en un archivo de configuración para definir una lógica avanzada para procesar solicitudes, generar una configuración, generar dinámicamente una respuesta, modificar una solicitud/respuesta o crear rápidamente apéndices para resolver problemas en aplicaciones web.

La nueva versión de njs soluciona los problemas identificados durante las pruebas de fuzzing. Implementé una variable global “proceso” con parámetros y variables de entorno del proceso actual (proceso.pid, proceso.env.HOME, etc.). Se pueden escribir todas las propiedades y métodos integrados. Implementación agregada de Array.prototype.fill(). Se ha implementado soporte para la sintaxis propuesta en ECMAScript 5. adquiridor и setter para vincular una propiedad de objeto a una función, por ejemplo:

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

Fuente: opennet.ru

Añadir un comentario