Lanzamiento de nginx 1.17.9 y njs 0.3.9

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

Principales cambios:

  • No se permite especificar varias líneas «Host» en
    el encabezado de la solicitud;
  • Se ha corregido un error por el cual nginx ignoraba líneas adicionales
    «Transfer-Encoding» en el encabezado de la solicitud;
  • Se han realizado correcciones para prevenir fugas de sockets al utilizar el protocolo HTTP/2;
  • Se ha solucionado un fallo (fallo de segmentación) del proceso de trabajo, que se manifestaba al usar OCSP stapling;
  • Se han realizado correcciones en el módulo ngx_http_mp4_module;
  • Se ha resuelto un problema en los casos en que, al redirigir errores con el código 494 mediante la directiva ‘error_page’, se podía devolver una respuesta con el código 494 en lugar de 400;
  • Se han eliminado fugas de sockets al usar subconsultas en el módulo njs y la directiva aio.

También se puede destacar lanzamiento njs 0.3.9, un intérprete de JavaScript para el servidor web nginx. El intérprete njs implementa estándares ECMAScript y permite ampliar las capacidades de nginx en el manejo de solicitudes mediante scripts en la configuración. Los scripts pueden utilizarse en el archivo de configuración para definir lógica de manejo de solicitudes ampliada, formación de configuraciones, generación dinámica de respuestas, modificación de solicitudes/respuestas o creación rápida de mockups para resolver problemas en aplicaciones web.

En esta nueva versión del módulo njs se agregó soporte para el modo de subconsultas desacopladas en r.subrequest(). Las respuestas a las subconsultas desacopladas son ignoradas. A diferencia de las subconsultas normales, una subconsulta desacoplada puede ser creada dentro de un manejador de variable. También:

  • Se añadió API Promises al módulo «fs»;
  • Se han añadido funciones access(), symlink(), unlink(),
    realpath() y similares al módulo «fs»;
  • Se han introducido arreglos comunes eficientes en términos de consumo de memoria;
  • Se han realizado mejoras en el lexer;
  • Se ha corregido el mapeo de funciones nativas en trazas de retroceso (backtraces).
    siguiendo;
  • Se han corregido llamadas a callbacks en el módulo «fs»;
  • Se han realizado correcciones en Object.getOwnPropertySymbols();
  • Se ha solucionado un desbordamiento de buffer de memoria dinámica en njs_json_append_string();
  • Se ha corregido encodeURI() y decodeURI() de acuerdo con la especificación;
  • Se ha corregido Number.prototype.toPrecision();
  • Se ha corregido el manejo del argumento de espacio en JSON.stringify();
  • Se ha corregido JSON.stringify() con objetos Number() y String();
  • Se ha garantizado el escape de caracteres Unicode en JSON.stringify() de acuerdo con
    la especificación;
  • Se ha corregido la importación de módulos no nativos;
  • Se ha corregido njs.dump() con una instancia de Date() en el contenedor.

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