Lanzamiento de nginx 1.19.3 y njs 0.4.4

Formado liberación de la rama maestra nginx 1.19.3, 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:

  • El módulo está incluido. ngx_stream_set_module, que le permite asignar un valor a una variable

    servidor {
    escuchar 12345;
    establecer $verdadero 1;
    }

  • Directiva añadida banderas_cookies_proxy para especificar indicadores para cookies en conexiones proxy. Por ejemplo, para agregar el indicador "httponly" a la cookie "one" y los indicadores "nosecure" y "samesite=strict" para todas las demás cookies, puede utilizar la siguiente construcción:

    proxy_cookie_flags uno httponly;
    proxy_cookie_flags ~ nosecure mismo sitio = estricto;

  • Directiva similar banderas_id_usuario para agregar banderas a Cookie también se implementa para el módulo ngx_http_userid.

Al mismo tiempo tuvo lugar cuestión njs 0.4.4, 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ó soporte para la separación visual de dígitos en números (por ejemplo, "1_000").
  • Se implementaron métodos faltantes para %TypedArray%.prototype: each(), filter(), find(), findIndex(), forEach(), include(), indexOf(), lastIndexOf(), map(), reduce(), reducirDerecha(), revertir(), algunos().
  • Se implementaron métodos faltantes para %TypedArray%: from(), of().
  • Objeto DataView implementado.

    : >> (nuevo DataView(buf.buffer)).getUint16()
    : 32974

  • Objeto Buffer implementado.

    : >> var buf = Buffer.de ([0x80,206,177,206,178])
    : indefinido
    : >> buf.slice(1).toString()
    : 'αβ'
    : >> buf.toString('base64')
    : 'gM6xzrI='

  • Se agregó soporte para objetos Buffer a los métodos "crypto" y "fs", y se aseguró de que fs.readFile(), Hash.prototype.digest() y Hmac.prototype.digest() devolvieran una instancia del objeto Buffer.
  • Se ha agregado compatibilidad con ArrayBuffer al método TextDecoder.prototype.decode().

Fuente: opennet.ru

Añadir un comentario