Nos complace anunciar la disponibilidad de NGINX Plus Release 11 (R11) . Con esta versión, ofrecemos una serie de nuevas funciones en NGINX Plus para que el producto sea más fácil de ampliar y personalizar, y para soportar una gama aún más amplia de implementaciones.
NGINX Plus R11 introduce compatibilidad binaria para módulos dinámicos . Esto significa que los módulos dinámicos que se han compilado con NGINX Open Source se pueden cargar en NGINX Plus.
Puede aprovechar la gran cantidad de módulos NGINX de terceros para ampliar y agregar funcionalidad a NGINX Plus, aprovechando una variedad de módulos de código abierto y producidos comercialmente. Los desarrolladores pueden crear extensiones personalizadas, complementos y nuevos productos basados en el núcleo NGINX Plus compatible.
NGINX Plus R11 también agrega una serie de otras mejoras:
NGINX Plus R11 en detalle
La comunidad NGINX ha desarrollado una amplia gama de extensiones de módulos para NGINX de código abierto: soluciones de seguridad, módulos de autenticación e incluso entornos de ejecución de aplicação completos como Lua .
Creamos y mantenemos algunos de estos módulos de terceros para NGINX Plus, actualizándolos con cada lanzamiento y distribuyéndolos a través de nuestro repositorio NGINX Plus. Estas compilaciones están certificadas para funcionar correctamente con NGINX Plus y nuestro equipo de soporte brinda soporte técnico de instalación y configuración básica.
Con la versión R11, ahora puede compilar cualquier módulo de terceros compatible con la versión de código abierto NGINX correspondiente y luego cargar estos módulos de manera 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; para NGINX Plus R11 , es NGINX 1.11.5.
$ nginx -v versión de nginx: nginx/1.11.5 (nginx-plus-r11)
Para compilar módulos dinámicos, primero debe obtener el código fuente NGINX en el que se basa su versión de NGINX Plus (aquí, 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
Luego, ejecuta el comando de configuración
con el nuevo argumento --with-compat
para crear un entorno de compilación estándar que sea compatible con NGINX Plus:
$ cd nginx-1.11.5 $ ./configure --with-compat --add-dynamic-module=/ruta/al/módulo $ crear módulos
Para obtener más detalles sobre cómo compilar sus propios módulos para operar con NGINX Plus, consulte Compilación de módulos dinámicos para NGINX Plus<.htmla> en nuestro blog.
Los módulos que usted mismo compila (módulos comunitarios, módulos proporcionados por socios externos y módulos personalizados) no están probados ni reciben soporte de NGINX. Si busca asistencia técnica para un problema, el equipo de soporte técnico de NGINX podría solicitarle que elimine un módulo no compatible y reproduzca el fallo como parte de nuestro proceso de soporte técnico, para que puedan verificar si el fallo se debe a dicho módulo.
NGINX Plus R11 admite una gama más amplia de aplicações con mejoras clave en el equilibrio de carga TCP y UDP .
Ahora puede utilizar el balanceador de carga TCP/UDP de NGINX Plus para equilibrar la carga de las conexiones SSL/TLS sin descifrarlas. Esto es útil en un entorno seguro o de alto tráfico donde desea reenviar conexiones cifradas SSL/TLS a un servidor remoto.
Con la nueva función de prelectura del nombre del servidor SSL, NGINX Plus R11 puede inspeccionar cada conexión SSL/TLS entrante y determinar el dominio de destino (como el valor de Indicación de nombre de servidor [SNI]) al cual enrutar la conexión.
El nombre del servidor SSL se proporciona en la nueva variable $ssl_preread_server_name
. Contiene el nombre del host de destino tal como se extrajo del campo SNI del protocolo de enlace SSL/TLS.
Puede utilizar la variable como argumento de la directiva proxy_pass
o como un 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:
El nuevo módulo Stream Log en NGINX Plus R11 proporciona el mismo tipo de registro de acceso para conexiones TCP/UDP que el que estaba disponible en versiones anteriores para conexiones HTTP. Ahora puede registrar cada sesión TCP/UDP procesada por el módulo Stream , inspeccionando las velocidades de datos, las decisiones de equilibrio de carga, las condiciones de error, etc. Esta es una característica vital al depurar o auditar transacciones TCP o UDP.
El módulo Stream expone una gran cantidad de variables y todas ellas pueden registrarse. Puede personalizar el formato de registro predeterminado mediante el uso de variables de la siguiente manera:
Esta versión hace que nuestro soporte para el protocolo PROXY para conexiones TCP sea más completo, al permitir que NGINX Plus acepte conexiones TCP mejoradas mediante el protocolo PROXY.
Esta función mejora su capacidad para administrar conexiones TCP con NGINX Plus, porque puede determinar la verdadera dirección IP de origen de la conexión para fines de registro o autenticación.
El módulo Estado ahora informa más métricas en la categoría de transmisión
, incluidos recuentos de la cantidad de sesiones manejadas y recuentos de varias condiciones de error.
Junto con el nuevo comando access_log
en el módulo Stream Log, las métricas adicionales facilitan el monitoreo del comportamiento de los servicios TCP y UDP y detectan cuándo hay una tasa inesperada de errores.
[Editor: El módulo Estado está obsoleto y ha sido reemplazado por el módulo API NGINX Plus , que se introdujo en NGINX Plus R13 .
El módulo GeoIP2 de terceros ahora 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 son más ricas en detalles que las utilizadas por el módulo GeoIP original.
Para obtener el nuevo módulo, ejecute estos comandos (apropiados para Debian y Ubuntu):
$ apt-get update $ apt-get install nginx-plus-module-geoip2
En el contexto principal (de nivel superior) en /etc/nginx/nginx.conf , agregue una directiva load_module
para el módulo recién instalado:
Para obtener más información sobre el módulo GeoIP2, consulte la página oficial de GitHub .
Editor : el siguiente caso de uso es solo uno de muchos para el módulo JavaScript de NGINX. Para obtener la lista de todos los casos de uso, consulte Casos de uso para el módulo JavaScript de NGINX .
Esta publicación se ha actualizado para utilizar el objeto de sesión refactorizado ( s
) para el módulo Stream, que se introdujo en NGINX JavaScript 0.2.4 .
NGINX JavaScript es el lenguaje de configuración de próxima generación para NGINX y NGINX Plus. Con NGINX JavaScript puedes usar la sintaxis familiar de JavaScript para realizar operaciones más complejas que las que son posibles con el lenguaje de configuración estándar de NGINX. Esta versión incluye una serie de mejoras en el módulo JavaScript de NGINX.
NGINX JavaScript aún es un trabajo en progreso y las actualizaciones en el lanzamiento apuntan hacia la funcionalidad final planificada. En este hito, nos hemos centrado en dos áreas: la integración con el módulo Stream y un soporte más amplio del lenguaje JavaScript.
En el módulo Stream, NGINX JavaScript puede acceder a varias fases de procesamiento de solicitudes internas para inspeccionar y modificar datos. Por ejemplo, el siguiente código JavaScript de NGINX ilustra cómo inspeccionar el tercer mensaje en un flujo de protocolo MySQL y buscar patrones clave para identificar la operación SQL:
El soporte del lenguaje principal JavaScript de NGINX se ha ampliado considerablemente, con soporte para más objetos y funciones integrados. Las actualizaciones se comparten en el repositorio de origen de Mercurial y a través del repositorio de paquetes NGINX Plus.
NGINX Plus opera un proceso de administrador de caché separado que es responsable de podar el caché del disco. En determinadas circunstancias, es posible que el administrador de caché necesite eliminar una gran cantidad de archivos, por ejemplo, cuando es necesario recuperar una gran cantidad de memoria.
Con la nueva capacidad de «limitación de desvinculación», puede especificar una tasa máxima de eliminación para archivos almacenados en caché. Una tasa más baja puede reducir la carga en el disco subyacente y, por lo tanto, mejorar el rendimiento del sistema.
La tasa de eliminación está controlada por 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
.
Si está ejecutando NGINX Plus, le recomendamos que actualice a la versión 11 cuando sea conveniente. Recibirá una serie de correcciones y mejoras, y nos servirá para ayudarlo si necesita generar un ticket de soporte. Las instrucciones de instalación y actualización se pueden encontrar en el portal del cliente .
Nota: Como se anunció anteriormente , NGINX Plus R11 y versiones posteriores no incluyen el paquete nginx-plus-extras . Si todavía está usando ese paquete, debe implementar el paquete nginx-plus y cargar dinámicamente los módulos adicionales que necesita desde el repositorio de módulos NGINX Plus.
Si aún no ha probado NGINX Plus , le recomendamos que lo pruebe para aceleración web, equilibrio de carga y entrega de aplicação , o como un servidor web totalmente compatible con API de administración y monitoreo mejoradas. Puede comenzar hoy con una prueba gratuita de 30 días y comprobar usted mismo cómo NGINX Plus puede ayudarle a entregar y escalar sus aplicações.
"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.