Novedades de NGINX Plus R14

NGINX Plus Release 14 (R14) ahora está disponible para los suscriptores de NGINX Plus.

NGINX Plus es el único all‑in‑one load balancer, content cache, and web server. Se basa en software de código abierto y agrega características exclusivas junto con el soporte 24 horas. NGINX Plus R14 incluye nuevas mejoras de seguridad y clustering que os contamos a continuación.

Soporte de clúster extendido (technology preview): podéis probar la nueva funcionalidad para compartir información de estado a través de las instancias de NGINX Plus en un clúster. En la preview, se comparte el estado para el método de persistencia de sesión de aprendizaje adhesivo. En versiones futuras, se ampliará la compatibilidad con clusters para otras funciones de NGINX Plus.

Tamaños de clave JWT más largos: además de ser compatibles con reclamos JWT anidados y datos de matriz, ahora se admiten tamaños de clave más largos (hasta 512 bits) para los algoritmos de firma JWT. Esto proporciona más seguridad y flexibilidad al validar JWT.

Los implementadores de API y microservicios están recurriendo al estándar JSON Web Token (JWT, pronunciado “jot”) por su simplicidad y flexibilidad. Un JWT es un medio compacto y altamente portátil de intercambio de información de identidad. Se uede obtener JWT de una serie de emisores, incluidos Okta, OneLogin y soluciones de cosecha propia. NGINX Plus puede otorgar o denegar el acceso en función de si el usuario o el cliente API ha presentado un JWT válido.

Considere la siguiente carga útil de JWT:

{
  "exp": 1513429677,
  "sub": "xample@example.com",
  "aud": "nginx",
  "attributes": {
    "name": "Xavier Ample",
    "room": "A123",
    "dept": "Demonstrations"
  },
  "groups": [
    "Administrator",
    "Foobar",
    "Bazpub"
  ]
}

En el JWT anterior, atributos es un objeto de “nested claim” y los grupos es un conjunto. Puede usar el siguiente fragmento de configuración para pasar el valor del nombre del objeto de atributos al servidor y denegar el acceso a los usuarios que no están en el grupo de administradores:

auth_jwt_claim_set $jwt_groups groups; # Array value will join as comma-separated values
auth_jwt_claim_set $jwt_real_name attributes name; # This value is two levels deep

map $jwt_groups $isAdmin { 
"~\bAdministrator\b" 1; # Appears within word boundaries (\b) of CSV list
 default 0; 
}

server { 
listen 443 ssl;
 #ssl_*; # Config for SSL/TLS termination

 auth_jwt "closed site";
 auth_jwt_key_file jwk.json;

location / { 
proxy_set_header X-RealName $jwt_real_name; # Pass real name as header 
proxy_set_header X-Subject $jwt_claim_sub; # L1 claims set automatically 
proxy_pass http://my_backend; 
}

location /admin { 
if ( $isAdmin = 0 ) { 
return 403; # Forbidden 
}

 proxy_pass http://my_backend;
 } 
}

Stream key‑value store and API: El potente almacén de valores-clave y API introducido en la Versión 13 para aplicaciones HTTP se extiende a las aplicaciones TCP y UDP en el contexto de flujo.

Mejoras de nginScript: nginScript permite ejecutar código JavaScript en NGINX Plus, ahora tiene soporte de lenguaje adicional para el objeto JSON. Esto permite analizar y extraer información de las respuestas JSON recibidas de las API de back-end de forma nativa y utilizar métodos estilo Node.js para acceder a su sistema de archivos. nginScript también proporciona ahora trazas inversas para una amplia gama de objetos de excepción y error cuando se producen, para facilitar la depuración y solución de problemas.

El objeto JavaScript JSON ahora está disponible como un objeto nativo en nginScript. Esto proporciona una forma más conveniente de administrar estructuras de datos complejas, y también permite que nginScript analice y manipule las respuestas de JSON recibidas de las API de backend.

Más funciones: NGINX Plus también cuenta con un panel de monitoreo actualizado de actividad en vivo, una nueva variable SSL y un drenaje de servidor ascendente.

 

Fuente: NGINX Blog

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.