Presentamos NGINX Plus R11

NGINX | 25 de octubre de 2016

Nos complace anunciar la disponibilidad de NGINX Plus Release 11 (R11). Con esta versión, ofrecemos una serie de nuevas funcionalidades en NGINX Plus para facilitar la ampliación y personalización del producto, así como para admitir una gama aún más amplia de implementaciones.

NGINX Plus R11 incorpora compatibilidad binaria con los módulos dinámicos. Esto significa que los módulos dinámicos compilados para NGINX Open Source pueden cargarse en NGINX Plus.

Puede aprovechar la gran cantidad de módulos de terceros para NGINX para ampliar y añadir funcionalidades a NGINX Plus, recurriendo a una amplia variedad de módulos de código abierto y comerciales. Los desarrolladores pueden crear extensiones personalizadas, complementos y nuevos productos basados en el núcleo compatible de NGINX Plus.

NGINX Plus R11 también incorpora otras mejoras:

  • Equilibrado de carga TCP/UDP mejorado – Las nuevas funciones incluyen el enrutamiento por nombre de servidor SSL, nuevas funciones de registro, variables adicionales y una compatibilidad mejorada con el protocolo PROXY. Estas nuevas funciones mejoran las capacidades de depuración y permiten admitir una gama más amplia de aplicaciones empresariales.
  • Mejor geolocalización por dirección IP – El módulo GeoIP2 de terceros ahora está certificado y se ofrece a los clientes de NGINX Plus. Esta nueva versión proporciona información de ubicación localizada y más detallada que el módulo GeoIP original.
  • Módulo JavaScript de NGINX mejorado – NGINX JavaScript es el lenguaje de configuración de nueva generación para NGINX Plus, basado en JavaScript. Las nuevas funciones permiten modificar al instante los datos de las solicitudes y las respuestas en el módulo Stream (TCP/UDP).

NGINX Plus R11 en detalle

Compatibilidad binaria para módulos dinámicos

La comunidad de NGINX ha desarrollado una amplia gama de extensiones de módulos para NGINX Open Source – soluciones de seguridad, módulos de autenticación e incluso entornos completos de ejecución de aplicaciones como Lua.

Desarrollamos y mantenemos algunos de estos módulos de terceros para NGINX Plus, los actualizamos con cada versión y los distribuimos a través de nuestro repositorio de NGINX Plus. Estas compilaciones están certificadas para funcionar correctamente con NGINX Plus, y nuestro equipo de soporte ofrece asistencia técnica para la instalación y la configuración básica.

Con la versión R11, ahora puede compilar cualquier módulo de terceros compatible con la versión correspondiente de NGINX Open Source y, a continuación, cargar estos módulos de forma segura en NGINX Plus.

Cada versión de NGINX Plus se basa en una versión de NGINX Open Source. Ejecute nginx -v para determinar el número de versión de código abierto correspondiente; en el caso de NGINX Plus R11, es NGINX 1.11.5.

$ nginx -vnginx version: nginx/1.11.5 (nginx-plus-r11)

Para compilar módulos dinámicos, primero debe obtener el código fuente de NGINX en el que se basa su versión de NGINX Plus (en este caso, nginx-1.11.5 para NGINX Plus R11):

$ wget https://nginx.org/download/nginx-1.11.5.tar.gz$ tar -xzvf nginx-1.11.5.tar.gz

A continuación, ejecute el comando configure con el nuevo argumento --with-compat para crear un entorno de compilación estándar compatible con NGINX Plus:

$ cd nginx-1.11.5$ ./configure --with-compat --add-dynamic-module=/path/to/module
$ make modules

Para obtener más información sobre cómo compilar sus propios módulos para utilizarlos con NGINX Plus, consulte Compilación de módulos dinámicos para NGINX Plus<.htmla> en nuestro blog.

Los módulos que compile usted mismo (módulos de la comunidad, módulos proporcionados por socios externos y módulos personalizados) no han sido probados ni cuentan con soporte de NGINX. Si solicita asistencia técnica para resolver un problema, el equipo de soporte técnico de NGINX puede pedirle que elimine cualquier módulo no compatible y reproduzca el fallo como parte de nuestro proceso de asistencia técnica, a fin de comprobar si el fallo se debe o no al módulo no compatible.

Equilibrado de carga TCP/UDP mejorado

NGINX Plus R11 admite una gama más amplia de aplicaciones gracias a importantes mejoras en el equilibrio de carga TCP y UDP.

Enrutamiento por nombre de servidor SSL

Ahora puede utilizar el equilibrador de carga TCP/UDP de NGINX Plus para equilibrar conexiones SSL/TLS sin descifrarlas. Esto resulta útil en entornos seguros o con mucho tráfico en los que se desea reenviar conexiones cifradas mediante SSL/TLS a un servidor remoto.

Con la nueva función de lectura anticipada del nombre del servidor SSL, NGINX Plus R11 puede inspeccionar cada conexión SSL/TLS entrante y determinar el dominio de destino (por ejemplo, el valor de la indicación del nombre del servidor [SNI]) al que debe dirigir la conexión.

El nombre del servidor SSL se proporciona en la nueva variable $ssl_preread_server_name. Esta contiene el nombre del host de destino extraído del campo SNI del protocolo de enlace SSL/TLS.

Puede usar la variable como argumento de la directiva proxy_pass o como campo en el registro de acceso del servidor virtual. Tenga en cuenta que, para habilitar esta función, debe incluir la directiva ssl_preread en la configuración, como se muestra en este ejemplo:

Cargando ejemplo de código…

Compatibilidad con el registro de accesos

El nuevo módulo Stream Log de NGINX Plus R11 ofrece para las conexiones TCP/UDP el mismo tipo de registro de acceso que ya estaba disponible en versiones anteriores para las conexiones HTTP. Ahora puede registrar cada sesión TCP/UDP procesada por el módulo Stream y examinar las velocidades de transferencia de datos, las decisiones de balanceo de carga, las condiciones de error, etc. Esta función es esencial para depurar o auditar transacciones TCP o UDP.

El módulo Stream expone un gran número de variables, y todas ellas se pueden registrar. Puede personalizar el formato de registro predeterminado utilizando variables de la siguiente manera:

Cargando ejemplo de código…

Compatibilidad mejorada con el protocolo PROXY

Esta versión amplía nuestra compatibilidad con el protocolo PROXY para conexiones TCP, ya que permite que NGINX Plus acepte conexiones TCP mejoradas mediante el protocolo PROXY.

Esta función mejora su capacidad para gestionar conexiones TCP con NGINX Plus, ya que permite determinar la verdadera dirección IP de origen de la conexión con fines de registro o autenticación.

Métricas adicionales de estado ampliado

El módulo Status ahora proporciona más métricas en la categoría stream, incluidos recuentos del número de sesiones gestionadas y de diversas condiciones de error.

Junto con el nuevo comando access_log del módulo Stream Log, las métricas adicionales facilitan la supervisión del comportamiento de los servicios TCP y UDP y permiten detectar cuándo se produce una tasa de errores inesperada.

[Editor: El módulo Status está obsoleto y ha sido sustituido por el módulo NGINX Plus API, que se introdujo en NGINX Plus R13.

Módulo GeoIP2 para una mejor geolocalización

El módulo GeoIP2 de terceros ya está certificado y disponible para los usuarios de NGINX Plus en nuestro repositorio. El módulo GeoIP2 utiliza las bases de datos en formato GeoIP2 de MaxMind, que proporcionan nombres localizados y ofrecen más detalles que las utilizadas por el módulo GeoIP original.

Para obtener el nuevo módulo, ejecute estos comandos (válidos para Debian y Ubuntu):

$ apt-get update$ apt-get install nginx-plus-module-geoip2

En el contexto principal (de nivel superior) de /etc/nginx/nginx.conf, añada una directiva load_module para el módulo recién instalado:

Cargando ejemplo de código…

Para obtener más información sobre el módulo GeoIP2, consulte la página oficial de GitHub.

Mejoras en el módulo JavaScript de NGINX

Editor – El siguiente caso de uso es solo uno de los muchos disponibles para el módulo JavaScript de NGINX. Para consultar la lista completa, consulte Casos de uso del módulo JavaScript de NGINX.

Esta entrada se ha actualizado para utilizar el objeto de sesión (s) refactorizado para el módulo Stream, que se introdujo en NGINX JavaScript 0.2.4.

NGINX JavaScript es el lenguaje de configuración de nueva generación para NGINX y NGINX Plus. Con NGINX JavaScript, puede utilizar la conocida sintaxis de JavaScript para realizar operaciones más complejas que las que permite el lenguaje de configuración estándar de NGINX. Esta versión incluye varias mejoras en el módulo NGINX JavaScript.

NGINX JavaScript sigue siendo un proyecto en desarrollo, y las actualizaciones de esta versión apuntan hacia la funcionalidad final prevista. En este hito, nos hemos centrado en dos áreas: la integración con el módulo Stream y una mayor compatibilidad con el lenguaje JavaScript.

En el módulo Stream, NGINX JavaScript puede acceder a varias fases internas del procesamiento de solicitudes para inspeccionar y modificar datos. Por ejemplo, el siguiente código de NGINX JavaScript muestra cómo inspeccionar el tercer mensaje de un flujo del protocolo MySQL y buscar patrones clave para identificar la operación SQL:

Cargando ejemplo de código…

El núcleo de NGINX JavaScript ha ampliado considerablemente su compatibilidad con el lenguaje, incorporando más objetos y funciones integrados. Las actualizaciones se publican en el repositorio de código fuente de Mercurial y a través del repositorio de paquetes de NGINX Plus.

Rendimiento de la caché mejorado

NGINX Plus ejecuta un proceso independiente denominado «administrador de caché», que se encarga de depurar la caché del disco. En determinadas circunstancias, el administrador de caché puede tener que eliminar una gran cantidad de archivos, por ejemplo, cuando es necesario recuperar una gran cantidad de memoria.

Con la nueva función de «limitación de desvinculación», puede especificar una velocidad máxima de eliminación de archivos almacenados en caché. Una velocidad más baja puede reducir la carga del disco subyacente y, por tanto, mejorar el rendimiento del sistema.

La velocidad de eliminación se controla mediante los nuevos parámetros «manager_files», «manager_threshold» y «manager_sleep» de las directivas «proxy_cache_path», «fastcgi_cache_path», «scgi_cache_path» y «uwsgi_cache_path».

Actualice o pruebe NGINX Plus

Si utiliza NGINX Plus, le recomendamos que actualice a la versión 11 cuando le resulte conveniente. Así obtendrá diversas correcciones y mejoras, y nos facilitará la tarea de ayudarle si necesita abrir una incidencia de soporte. Encontrará las instrucciones de instalación y actualización en el portal del cliente.

Nota: Como se anunció anteriormente, NGINX Plus R11 y las versiones posteriores no incluyen el paquete nginx-plus-extras. Si todavía utiliza ese paquete, deberá implementar en su lugar el paquete nginx-plus y cargar dinámicamente los módulos adicionales que necesite desde el repositorio de módulos de NGINX Plus.

Si aún no ha probado NGINX Plus, le animamos a utilizarlo para acelerar sitios web, equilibrar cargas y distribuir aplicaciones, o como servidor web con soporte completo y API mejoradas de supervisión y gestión. Puede empezar hoy mismo con una prueba gratuita de 30 días y comprobar por sí mismo cómo NGINX Plus puede ayudarle a distribuir y escalar sus aplicaciones.


Compartir

Sobre el autor

Owen Garrett
Owen GarrettDirector sénior de Gestión de Producto

Más artículos de Owen Garrett

Artículos relacionados del blog

Únete a F5 NGINX en AppWorld 2024
NGINX | 04/01/2024

Únete a F5 NGINX en AppWorld 2024

Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
NGINX | 26/09/2023

Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source

La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.

Exposición de APIs en Kubernetes
NGINX | 10/03/2022

Exposición de APIs en Kubernetes

La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
NGINX | 23/08/2021

NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto

Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.

Presentamos NGINX Plus R22
NGINX | 09/06/2020

Presentamos NGINX Plus R22

NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.

Presentamos NGINX Plus R17
NGINX | 11/12/2018

Presentamos NGINX Plus R17

NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.