Lanzamiento de nginx 1.19.2 y njs 0.4.3

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

El principal cambios:

  • Las conexiones Keepalive ahora comienzan a cerrarse antes de que se agoten todas las conexiones disponibles y las advertencias correspondientes se reflejan en el registro.
  • Cuando se utiliza la transmisión fragmentada, se implementa la optimización de la lectura del cuerpo de la solicitud del cliente.
  • Se corrigió una pérdida de memoria que ocurría al usar la directiva "ssl_ocsp".
  • Se solucionó el problema que apareció en la última versión con mensajes de “buf de tamaño cero en salida” que se enviaban al registro cuando el servidor FastCGI devolvía una respuesta incorrecta.
  • Se corrigió un bloqueo del flujo de trabajo que ocurre cuando los grandes_client_header_buffers se configuran en diferentes tamaños en diferentes servidores virtuales.
  • Se ha resuelto el problema con la terminación incorrecta de las conexiones SSL y la aparición de advertencias "SSL_shutdown() falló (SSL: ... reintento de escritura incorrecto)".
  • Se corrigieron errores en los módulos ngx_http_slice_module y ngx_http_xslt_filter_module.

Al mismo tiempo tuvo lugar cuestión njs 0.4.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. En la nueva versión:

  • Se agregó el módulo Query String con funciones para analizar una cadena con parámetros de solicitud HTTP.
  • Las funciones fs.mkdir() y fs.rmdir() ahora admiten la creación y eliminación de directorios de forma recursiva.
  • Se agregó decodificador UTF-8.
  • Se ha implementado soporte para TextEncoder y TextDecoder para convertir entre códigos de caracteres y su representación Unicode. (por ejemplo: "(nuevo TextDecoder()).decode(nuevo Uint8Array([206,177,206,178]))".

Fuente: opennet.ru

Añadir un comentario