BLOG | NGINX

Mejore el rendimiento y la seguridad de las aplicaciones de Azure con NGINX

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Adam Schumacher
Adán Schumacher
Publicado el 17 de octubre de 2023

NGINXaaS para Azure permite a las empresas entregar de forma segura aplicações de alto rendimiento en la nube. Desarrollado por NGINX Plus, es un servicio completamente administrado que estuvo disponible de forma general en enero de 2023. Desde su lanzamiento y en el futuro, continuamos mejorando NGINXaaS para Azure agregando nuevas características .

En este blog, destacamos algunas de las últimas capacidades de rendimiento y seguridad que le permiten disfrutar de más beneficios de NGINX Plus sin tener que implementar, mantener y actualizar sus propias instancias de NGINX Plus. Para obtener información general sobre NGINXaaS para Azure y sus capacidades generales, lea Simplifique y acelere las migraciones a la nube con F5 NGINXaaS para Azure .

Un diagrama que representa la arquitectura NGINXaaS para Azure. NGINX Plus y Edge Routing se encuentran en una parte SaaS del entorno, mientras que los servicios de cómputo, almacenamiento de claves, monitoreo y otros servicios del cliente se encuentran en la suscripción de Azure del cliente.
Figura 1: Descripción general de NGINXaaS para Azure

Protección del tráfico ascendente con mTLS

Si bien los servidores proxy inversos requieren SSL/TLS para cifrar el tráfico del lado del cliente en Internet público, el TLS mutuo (mTLS) se vuelve esencial para autenticar y garantizar la confidencialidad en el lado del servidor. Con el cambio a Zero Trust , también es necesario verificar que el tráfico del servidor ascendente no haya sido alterado o interceptado.

Un diagrama de la autenticación TLS del lado del servidor. Las conexiones del lado del cliente y del servidor están cifradas, y tanto la instancia NGINXaaS como el servicio de aplicaciones se autentican mutuamente.
Figura 2: mTLS con NGINXaaS

NGINXaaS para Azure ahora admite directivas NGINX para proteger el tráfico ascendente con certificados SSL/TLS. Con estas directivas, no solo puede mantener el tráfico ascendente cifrado a través de mTLS, sino que también puede verificar que los servidores ascendentes presenten un certificado válido de una autoridad de certificación confiable.

Rotación de certificados

Una parte clave (juego de palabras intencionado) del uso de certificados TLS con NGINXaaS para Azure es la administración segura de dichos certificados mediante el uso de Azure Key Vault (AKV) . AKV mantiene seguro el material criptográfico confidencial y permite que NGINXaaS para Azure use esos certificados al tiempo que evita la divulgación accidental o intencional del material clave a través del portal de Azure.

Animación de la rotación de certificados con NGINXaas y Azure Key Vault. Se carga una nueva versión de un certificado existente en Azure Key Vault y, luego, el nuevo certificado se rota automáticamente en la instancia NGINXaaS.
Figura 3: Rotación de certificados con Azure Key Vault

NGINXaaS para Azure ahora puede rotar automáticamente los certificados en sus implementaciones de NGINX al actualizarse en AKV. Las nuevas versiones de los certificados se rotan en sus implementaciones en un plazo de cuatro horas.

Proxy HTTP/2 (y opciones de protocolo adicionales)

Cierra los ojos y piensa en el año 1997. Estábamos bailando Tubthump junto con Chumbawamba, usando nuestros jeans JNCO (o Modrobes para cualquier compatriota canadiense), y se lanzó HTTP/1.1. En ese momento, la mayoría de los usuarios finales accedían a Internet a través de un módem de acceso telefónico, las páginas web solo contenían unas pocas docenas de elementos y, cuando se trataba de la experiencia del usuario, el ancho de banda era una preocupación mucho mayor que la latencia.

Veinticinco años después, una parte importante de las aplicações web todavía utilizan HTTP/1.1 para entregar contenido. Esto puede ser un problema. Si bien HTTP/1.1 todavía funciona, solo permite la entrega de un recurso por conexión a la vez. Mientras tanto, las aplicaciones web modernas pueden realizar cientos de solicitudes para actualizar una interfaz de usuario.

Si bien la mayoría de los usuarios tienen a su disposición considerablemente más ancho de banda, la velocidad de transmisión de datos (limitada por la velocidad fundamental de la luz) no ha avanzado tan rápidamente. Por lo tanto, la latencia acumulada de todas esas solicitudes puede tener un impacto significativo en el rendimiento percibido de su aplicação. Los navegadores modernos abren múltiples conexiones TCP al mismo servidor, pero cada solicitud en esas conexiones sigue siendo secuencial, lo que significa que un recurso lento puede retrasar todos los demás recursos detrás de él.

Eche un vistazo a la página de inicio de F5 cuando se carga utilizando solo HTTP/1.1:

Figura 4: Se accede a F5.com a través de HTTP/1.1

¿Ves todas esas barras grises? Ese es un tiempo valioso que el navegador pierde mientras espera que se establezca una sesión, bloquea un solo recurso lento o busca una nueva conexión TCP disponible.

Habilitemos HTTP/2 e intentemos nuevamente:

Figura 5: La misma solicitud, pero utilizando HTTP/2

Mucho mejor. Aún hay algunos recursos lentos, pero no retrasan otras solicitudes y se pierde mucho menos tiempo esperando demoras relacionadas con las colas. HTTP/2 mantiene la misma semántica con la que los navegadores web y servidores están familiarizados desde HTTP/1.1 mientras agrega nuevas capacidades para abordar algunas razones del bajo rendimiento percibido de las aplicação (por ejemplo, priorización de solicitudes, compresión de encabezados y multiplexación de solicitudes).

Dada una diferencia tan clara, NGINXaaS para Azure ahora admite la atención de solicitudes de clientes a través de HTTP/2 . Es más probable que las conexiones del lado del cliente se vean afectadas por tiempos de ida y vuelta más largos, por lo que puede entregar ese tráfico con los beneficios de reducción de latencia de HTTP/2 mientras deja sus servidores ascendentes sin cambios.

A pesar de lo que algunos en el negocio de aplicação web quieran creer, reconocemos que hay opciones de protocolo adicionales además de HTTP disponibles para usted. Es por esto que el módulo gRPC de NGINX ahora también está disponible en NGINXaaS para Azure. Proporciona varias directivas de configuración para trabajar con tráfico gRPC, incluida la intercepción de errores, la manipulación de encabezados y más.

Para el tráfico que no es HTTP/gRPC, el módulo de transmisión ahora está disponible en NGINXaaS para Azure. Este módulo admite el uso de proxy y equilibrio de carga para el tráfico TCP y UDP.

Compatibilidad con equilibrio de carga de capa 4 y capa 7

NGINXaaS para Azure ahora puede funcionar como un equilibrador de carga nativo de la nube tanto de capa 4 TCP/UDP como de capa 7 HTTP/HTTP. ¿Por qué es esto importante? En lugar de implementar dos servicios o balanceadores de carga diferentes, NGINXaaS para Azure le permite implementar un solo balanceador de carga y configurarlo para que funcione en ambas capas al mismo tiempo, lo que facilita su arquitectura de nube y reduce sus costos.

Puede obtener más información sobre la configuración aquí .

Mayor capacidad (hasta 160 NCU)

NGINXaaS para Azure es un servicio basado en el consumo que se mide por hora y se factura mensualmente en unidades de capacidad NGINX (NCU) . Recientemente duplicamos esa capacidad de implementación de 80 NCU a 160 NCU. Los clientes pueden implementar un sistema más pequeño de 20 NCU y, si la carga de trabajo aumenta, pueden escalar hasta 160 NCU. Además, los clientes también tienen la opción de implementar hasta 160 NCU al inicio.

Adición de directivas NGINX Plus

Para brindar una experiencia de configuración sencilla de trasladar de una oferta local a una oferta en la nube totalmente administrada, agregamos muchas directivas NGINX Plus. Consulte todas las directivas NGINX Plus que admitimos en NGINXaaS para Azure aquí .

Empieza hoy

Siempre estamos mejorando y ampliando las formas en que puede utilizar la tecnología NGINX y F5 para proteger, entregar y optimizar cada aplicación y API, en todas partes. Con las capacidades mencionadas anteriormente y otras nuevas agregadas a NGINXaaS para Azure, más usuarios de Azure pueden resolver numerosos problemas de aplicaciones y API con el poder de NGINX Plus, sin la sobrecarga de administrar una máquina virtual o una infraestructura de contenedores adicional.

Si desea obtener más información sobre NGINXaaS para Azure, le recomendamos consultar la documentación del producto . Si está listo para probar NGINXaaS para Azure, visite Azure Marketplace o contáctenos para analizar sus casos de uso.


"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.