Nos complace anunciar la disponibilidad de NGINX Plus Release 32 (R32). Basado en NGINX de código abierto, NGINX Plus es el único servidor web de software todo en uno, balanceador de carga, proxy inverso, caché de contenido y puerta de enlace API.
Las características nuevas y mejoradas de NGINX Plus R32 incluyen:
Para completar el lanzamiento se incluyen nuevas características y correcciones de errores heredadas de NGINX de código abierto y actualizaciones del módulo JavaScript de NGINX.
Nota: Si está actualizando desde una versión distinta a NGINX Plus R31, asegúrese de consultar la sección Cambios importantes en el comportamiento en los blogs de anuncios anteriores para todas las versiones entre su versión actual y esta.
El módulo OpenTracing, introducido en NGINX Plus R18, está siendo obsoleto y marcado para su eliminación en NGINX Plus R34. Los paquetes asociados estarán disponibles con todas las versiones de NGINX Plus hasta entonces. Recomendamos encarecidamente reemplazar el uso del módulo OpenTracing con el módulo OpenTelemetry , introducido en NGINX Plus R29 .
El módulo ModSecurity finalizó su soporte el 31 de marzo de 2024. Como resultado, los paquetes modsec se han eliminado del repositorio NGINX Plus y ya no estarán disponibles en dicho repositorio en el futuro.
Los paquetes NGINX Open Source y NGINX Plus están firmados mediante una clave PGP. Esta clave caducará el 16 de junio de 2024. Hemos actualizado la fecha de vencimiento de la clave para que los paquetes existentes puedan seguir verificándose después del 16 de junio de 2024. Generaremos nuevos pares de claves para firmar paquetes para los próximos lanzamientos.
Todos los usuarios de NGINX deben descargar e instalar la clave PGP actualizada siguiendo estos pasos:
En Ubuntu/Debian:
wget -qO-https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
En RHEL/CentOS:
sudo rpm -e gpg-pubkey-7bd9bf62-5762b5f8
sudo rpm --import https://nginx.org/keys/nginx_signing.key
No podrá verificar sus firmas de software después del 16 de junio de 2024, hasta que actualice su clave.
En futuras versiones de NGINX Plus, optimizaremos nuestra política de empaquetado y lanzamiento. NGINX Plus se construirá y probará únicamente en las últimas versiones de las distribuciones de sistemas operativos compatibles. Si está instalando NGINX Plus en distribuciones anteriores, su administrador de paquetes puede sugerirle actualizar las bibliotecas y paquetes dependientes.
Se han realizado los siguientes cambios en las plataformas compatibles en esta versión.
Nuevos sistemas operativos compatibles:
Sistemas operativos más antiguos eliminados:
Sistemas operativos antiguos obsoletos y programados para su eliminación en NGINX Plus R33:
Anteriormente, NGINX cargaba un certificado, una clave o una lista de revocación de certificados cada vez que se hacía referencia a él en la configuración de NGINX. Esto significaba que múltiples referencias al mismo objeto resultaban en un número igual de recargas de ese objeto. Esta latencia se agravaría al heredar directivas como listas de certificados confiables. En determinadas condiciones, este comportamiento afectaría significativamente el tiempo de inicio de NGINX y podría requerir grandes cantidades de memoria para almacenar configuraciones.
Con el nuevo comportamiento, las directivas SSL ahora hacen referencia a archivos de certificados almacenados en caché y objetos relacionados. Como resultado, el uso de memoria y los tiempos de carga de las configuraciones que hacen referencia repetidamente a los mismos objetos de certificado se reducen drásticamente. El beneficio es más evidente en los casos que involucran grandes configuraciones de NGINX donde un pequeño conjunto de certificados confiables se referencian en una gran cantidad de bloques de ubicación.
Aquí se muestra una visualización de la mejora del tiempo de carga donde NGINX está configurado con aproximadamente 5400 bloques de ubicaciones (de nivel superior y anidados) y 878 certificados.
Observe la caída significativa en los tiempos de carga hacia el lado derecho del gráfico, donde el tiempo de carga promedio disminuye de aproximadamente 40 segundos antes del cambio a ~6 segundos con el nuevo comportamiento.
NGINX Plus R32 hereda una característica de NGINX de código abierto 1.25.5 que añade una nueva capa de configurabilidad a NGINX. En concreto, el módulo de flujo de NGINX ahora puede funcionar como un enrutador, sirviendo como proxy y con la capacidad de transferir conexiones desde el contexto de flujo a otros contextos como http, correo o a un servidor virtual independiente dentro del propio contexto de flujo.
Esta funcionalidad está disponible como parte del módulo ngx_stream_pass_module , presentado en esta versión. El módulo tiene una única directiva “pass” que puede usarse para especificar la dirección a la que pasar las conexiones del cliente. La dirección se puede especificar mediante una combinación de dirección IP y puerto, una ruta de socket o referenciarse mediante variables NGINX.
Con esta funcionalidad, los clientes que deseen ejecutar todo su tráfico a través de un único punto final L4 ahora pueden finalizar las conexiones SSL en el contexto de flujo L4 y pasarlas a otros módulos (http, correo) u otros servidores virtuales dentro del contexto de flujo. Además, las conexiones SSL pueden finalizarse condicionalmente en función de los nombres de servidor o protocolos, mientras se envía el tráfico restante a otro lugar. Esto desbloquea un nuevo conjunto de posibles comportamientos de configuración para administrar el tráfico desde un único punto final.
El siguiente fragmento de configuración finaliza las conexiones SSL en el módulo de transmisión y las pasa condicionalmente al contexto http u otro servidor virtual en el contexto de transmisión, según el nombre del servidor solicitado.
http {
servidor {
escuchar 8000;
ubicación / {
devolver 200 foo;
}
}
}
transmisión {
mapa $nombre_servidor_ssl $puerto_de_contraseña {
foo.ejemplo.com 8000;
predeterminado 9001;
}
servidor {
escuchar 9000 ssl;
certificado_ssl dominio.crt;
clave_certificado_ssl dominio.clave;
contraseña 127.0.0.1:$puerto_de_contraseña;
}
servidor{
escuchar 9001;
devolver barra\n;
}
}
En este ejemplo, todas las conexiones SSL finalizan en el bloque del servidor de transmisión. Según el nombre del servidor en la solicitud entrante, las conexiones se pasan al servidor http que escucha en el puerto 8000 o al servidor virtual de transmisión que escucha en el puerto 9001.
Otra aplicação del módulo aborda casos de uso donde un módulo de terceros no admite la terminación SSL. En tales escenarios, el módulo stream_pass puede finalizar las conexiones cifradas TLS antes de pasarlas al módulo de terceros.
Este ejemplo demuestra cómo el módulo RTMP , que de forma nativa no admite SSL, puede usar el módulo stream_pass para aceptar tráfico cifrado TLS.
rtmp {
servidor {
escuchar 1935;#rtmp
aplicação foo{
vivir;
}
}
}
arroyo {
servidor {
escuchar 1936 ssl; #rtmps
certificado_ssl dominio.crt;
ssl_certificate_key dominio.clave;
pase 127.0.0.1:1935;
}
}
En este fragmento de configuración, la conexión SSL finaliza en el bloque del servidor de transmisión y pasa a rtmp. La conexión aparece sin cifrar para el módulo RTMP, lo que elimina la necesidad de personalización adicional o sobrecarga de procesamiento para soportar conexiones SSL.
NGINX Plus R32 incluye la disponibilidad oficial de imágenes de contenedores NGINX Plus para la ejecución privilegiada y no privilegiada de NGINX Plus. Ambos tipos de contenedores también están disponibles con instalaciones opcionales de NGINX Agent para una fácil conectividad a los planos de administración compatibles con NGINX. Las imágenes se pueden descargar del registro NGINX, disponible en: private-registry.nginx.com. Siga estas instrucciones para acceder a la imagen con su certificado y clave NGINX Plus o JSON Web Token (JWT).
Se identificaron y solucionaron los siguientes problemas de seguridad potenciales en la implementación experimental HTTP3/QUIC.
NGINX Plus R32 se basa en NGINX Open Source 1.25.5 y hereda cambios funcionales, características y correcciones de errores realizados desde que se lanzó NGINX Plus R31 (en NGINX 1.25.4 y 1.25.5).
Para obtener la lista completa de nuevos cambios, características, correcciones de errores y soluciones alternativas heredadas de versiones recientes, consulte el archivo de cambios de NGINX.
NGINX Plus R32 incorpora cambios de la versión 0.8.4 del módulo NGINX JavaScript (njs). La siguiente es una lista de cambios notables en njs desde 0.8.2 (que fue la versión enviada con NGINX Plus R31).
Para obtener una lista completa de todas las características, cambios y correcciones de errores, consulte el registro de cambios de njs.
Si está utilizando NGINX Plus, le recomendamos encarecidamente que actualice a NGINX Plus R32 lo antes posible. Además de todas las nuevas y excelentes funciones, también obtendrá varias correcciones y mejoras adicionales, lo que hará que sea más fácil para NGINX ayudarlo si necesita generar un ticket de soporte.
Si no eres usuario de NGINX Plus, te animamos a que lo pruebes. Puede usarlo para casos de uso de seguridad, equilibrio de carga y puerta de enlace de API, o como un servidor web totalmente compatible con API de administración y monitoreo mejoradas. Comience hoy con una prueba gratuita de 30 días .
"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.