Lanzamiento de nginx 1.19.3 y njs 0.4.4

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

Principales cambios:

  • Incluye el módulo ngx_stream_set_module, que permite asignar un valor a una variable

    server {
    listen 12345;
    set $true 1;
    }

  • Se ha añadido la directiva proxy_cookie_flags para especificar flags para Cookies en conexiones proxy. Por ejemplo, para añadir al Cookie "one" el flag "httponly", y para todos los demás Cookies los flags "nosecure" y "samesite=strict" se puede usar la construcción:

    proxy_cookie_flags one httponly;
    proxy_cookie_flags ~ nosecure samesite=strict;

  • Una directiva similar userid_flags para añadir flags a Cookies también está implementada para el módulo ngx_http_userid.

Simultáneamente se llevó a cabo lanzamiento njs 0.4.4, un intérprete de JavaScript para el servidor web nginx. El intérprete njs implementa estándares de ECMAScript y permite ampliar las capacidades de nginx para manejar solicitudes mediante scripts en la configuración. Los scripts pueden utilizarse en el archivo de configuración para definir lógica avanzada en el procesamiento de solicitudes, construir configuraciones, generar dinámicamente respuestas, modificar solicitudes/respuestas o crear rápidamente stubs para resolver problemas en aplicaciones web. En la nueva versión:

  • Se ha añadido soporte para la separación visual de dígitos en los números (por ejemplo, “1_000”).
  • Se han implementado los métodos faltantes para %TypedArray%.prototype: every(), filter(), find(), findIndex(), forEach(), includes(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
  • Se han implementado los métodos faltantes para %TypedArray%: from(), of().
  • Se ha implementado el objeto DataView.

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

  • Se ha implementado el objeto Buffer.

    : > var buf = Buffer.from([0x80,206,177,206,178])
    : undefined
    : > buf.slice(1).toString()
    : ‘αβ’
    : > buf.toString(‘base64’)
    : ‘gM6xzrI=’

  • El soporte para el objeto Buffer se ha añadido a los métodos 'crypto' y 'fs', así como asegurar que se devuelva una instancia del objeto Buffer en fs.readFile(), Hash.prototype.digest() y Hmac.prototype.digest().
  • En el método TextDecoder.prototype.decode() se ha añadido soporte para ArrayBuffer.

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