Presentamos NGINX Plus R8

NGINX | 19 de enero de 2016

Nos complace anunciar la disponibilidad de NGINX Plus Release 8 (R8), la versión más reciente de nuestra plataforma de entrega de aplicaciones. Esta versión incluye una implementación de HTTP/2 reforzada y totalmente preparada para entornos de producción, una API persistente de reconfiguración dinámica, el nuevo módulo Slice para el almacenamiento en caché escalable de archivos de vídeo de gran tamaño y muchas otras funciones que garantizan una entrega de aplicaciones impecable.

Nota del editor: NGINX Plus R8 también presentó la versión preliminar de la tecnología OAuth. Para obtener más información, consulte más abajo.

Para obtener más información sobre las principales novedades de NGINX Plus R8, consulte estos recursos relacionados.

Las principales novedades de NGINX Plus R8 son:

  • Implementación de HTTP/2 totalmente preparada para producción – En NGINX Plus R7 incorporamos compatibilidad con HTTP/2 menos de siete meses después de la ratificación del protocolo. NGINX es ahora el servidor web número 1 para HTTP/2. Nuestros esfuerzos de desarrollo no terminaron con aquella versión y hemos seguido trabajando intensamente para mejorar nuestra implementación. Con NGINX Plus R8, nos enorgullece ofrecer una implementación del estándar HTTP/2 con soporte completo, preparada para producción y reforzada. HTTP/2 mejora el rendimiento de los sitios web hasta un 30 %. Con NGINX Plus R8, puede seguir añadiendo compatibilidad con HTTP/2 a sus sitios nuevos y existentes sin necesidad de realizar cambios en su aplicación.
  • API de reconfiguración dinámica persistente – Con la API de reconfiguración dinámica de NGINX Plus, puede añadir o eliminar servidores ascendentes sin reiniciar NGINX Plus ni modificar y volver a cargar manualmente el archivo de configuración. Esta función resulta muy útil para el escalado automático y la detección de servicios, ya que permite modificar el grupo de balanceo de carga bajo demanda. A partir de NGINX Plus R8, los cambios realizados mediante la API pueden conservarse tras un reinicio o una recarga de la configuración. Gracias a esta actualización de la API, puede realizar cambios permanentes en la configuración de balanceo de carga de NGINX Plus, como añadir y eliminar servidores y cambiar sus prioridades de balanceo de carga. Esta API se puede proteger fácilmente y permite realizar cambios con la frecuencia necesaria.
  • Almacenamiento en caché escalable para archivos de vídeo de gran tamaño – Con NGINX Plus R8, hemos mejorado nuestra caché de contenido escalable para gestionar mejor archivos de vídeo de gran tamaño, como los vídeos HTML5. En lugar de almacenar el archivo de vídeo completo como una única entrada de caché, NGINX Plus lo divide en fragmentos más pequeños y los almacena en caché. Estructurar la caché de este modo se adapta mejor a la forma en que los usuarios consumen vídeo en Internet (avance rápido, finalización anticipada, etc.) y reduce tanto la latencia para los usuarios como el tráfico de red hacia y desde los servidores de origen.

Características de NGINX Plus R8 en detalle

Esta sección ofrece una descripción detallada de todas las nuevas características y funcionalidades de NGINX Plus R8.

Versión preliminar de la tecnología OAuth

Nota del editor: En NGINX Plus R8 presentamos la versión preliminar de la tecnología OAuth, una implementación de autenticación basada en el estándar OAuth 2.0, cuyos detalles se publicaron originalmente aquí. En NGINX Plus R10, sustituimos la versión preliminar de la tecnología OAuth por compatibilidad nativa con el estándar JSON Web Token (JWT).

Implementación de HTTP/2 lista para producción

HTTP/2 es la versión más reciente del protocolo HTTP. Soluciona muchos de los problemas de la versión original del protocolo HTTP, lo que se traduce en un mejor rendimiento general y un uso más eficiente de los recursos.

El uso de HTTP/2 ha aumentado de forma constante desde que se ratificó el estándar en febrero de 2015. En el momento de redactar este texto, el 6 % de todos los sitios web utiliza HTTP/2 y el 69 % de los usuarios de Internet utiliza un navegador compatible con HTTP/2.

Con NGINX Plus R8, obtiene la implementación de HTTP/2 más probada, estable y fiable disponible actualmente. El 71 % de los sitios web compatibles con HTTP/2 utilizan NGINX y NGINX Plus, y hemos incorporado al producto los comentarios de nuestros primeros usuarios. Nuestra implementación de HTTP/2 cuenta con soporte completo para su uso en producción y puede escalar para gestionar las cargas de trabajo más exigentes.

NGINX Plus actúa como una puerta de enlace HTTP/2

NGINX Plus actúa como una «puerta de enlace HTTP/2» para facilitar la transición al nuevo protocolo. En el frontend, NGINX Plus se comunica mediante HTTP/2 con los navegadores web cliente compatibles. En el backend, NGINX Plus se comunica mediante HTTP/1.x (o FastCGI, SCGI, uwsgi, etc.), como hasta ahora. Entre ambos, NGINX Plus realiza la conversión entre HTTP/2 y HTTP/1.x (o FastCGI, etc.). Esto significa que los servidores y las aplicaciones para los que NGINX Plus actúa como proxy no se ven afectados por la migración a HTTP/2 y ni siquiera necesitan saber si sus clientes utilizan HTTP/2. Sin embargo, los sitios web y las aplicaciones que atienden a clientes HTTP/2 deben utilizar TLS/SSL, tal como exigen todos los navegadores web compatibles con HTTP/2.

El único cambio que debe realizar en la configuración de NGINX Plus o NGINX es añadir el parámetro http2 a las directivas listen:

listen 443 ssl http2 default_server;

Para obtener más información sobre HTTP/2 en NGINX Plus y NGINX, consulte nuestro libro blanco y nuestro seminario web bajo demanda.

Reconfiguración dinámica persistente

NGINX Plus proporciona una API basada en HTTP para añadir, eliminar y modificar servidores backend de forma dinámica y sin tener que recargar la configuración. Esta funcionalidad resulta muy útil para el descubrimiento de servicios, el escalado automático y otras aplicaciones que requieren añadir y eliminar servidores bajo demanda.

Con NGINX Plus R8, los cambios realizados mediante esta API ahora pueden conservarse tras los reinicios de NGINX Plus y las recargas de la configuración. Añada la nueva directiva «state» en un bloque «upstream» para especificar el archivo en el que NGINX Plus almacena la información de estado de los servidores del grupo ascendente. Los cambios que realice con la API de reconfiguración dinámica se registran en el archivo. NGINX Plus lee el archivo al iniciarse, lo que permite que los cambios se conserven tras los reinicios.

upstream backend {
    zone backend 64k;
    state /var/lib/nginx/state/backend.state;
}

La directiva state especifica el archivo en el que NGINX Plus almacena la información de estado de los servidores del grupo de servidores ascendentes. Cuando se incluye en la configuración, los servidores no se pueden definir de forma estática mediante la directiva server.

El usuario nginx debe tener permisos de escritura en el directorio /var/lib/nginx/state/. Si el directorio aún no existe, puede ejecutar estos comandos:

$ sudo mkdir -p /var/lib/nginx/state$ sudo chown nginx:nginx /var/lib/nginx/state

Almacenamiento en caché escalable para archivos de vídeo de gran tamaño

El almacenamiento en caché es una de las formas más rápidas de acelerar la entrega de contenido web. No solo acerca el contenido al usuario final, reduciendo la latencia, sino que también disminuye el número de solicitudes al servidor de origen, lo que reduce el uso del ancho de banda y aumenta de forma efectiva la capacidad. El vídeo, especialmente el vídeo HTML5, es un candidato ideal para el almacenamiento en caché, ya que el contenido es estático y suele recibir muchas solicitudes cuando se publica por primera vez.

Con el vídeo HTML5, el navegador realiza una pseudoemisión del contenido mediante solicitudes HTTP de intervalos de bytes. Por ejemplo, solicita el primer minuto del vídeo, después el segundo y así sucesivamente. Esta forma de transmisión también facilita la implementación de las funciones de avance rápido y rebobinado, ya que el navegador puede omitir las partes del vídeo que no necesita y comenzar el intervalo de bytes solicitado en el punto hasta el que el usuario haya avanzado o rebobinado.

NGINX Plus R8 incluye el nuevo módulo Slice para ofrecer una mejor compatibilidad con este tipo de interacción entre el navegador y el servidor en archivos de vídeo almacenados en caché. El módulo divide los archivos en fragmentos más pequeños y, a continuación, almacena esos fragmentos en caché. Estructurar la caché de este modo se adapta mejor a las técnicas modernas de transmisión de vídeo, como las utilizadas por el vídeo HTML5.

Para habilitar la segmentación de la caché, incluya la directiva slice:

proxy_cache_path /tmp/mycache keys_zone=mycache:10m;
location / {
    proxy_cache  mycache;
    proxy_pass   http://localhost:8000;

    slice 1m;
    proxy_cache_key    $uri$is_args$args$slice_range;
    proxy_set_header   Range $slice_range;
    proxy_http_version 1.1;
    proxy_cache_valid  200 206 1h;
}

En esta configuración de ejemplo, NGINX Plus divide los archivos de vídeo en fragmentos de 1 MB. También debe incluir las siguientes directivas:

  • proxy_cache_key con la nueva variable $slice_range en la clave definida: establece la clave de caché para diferenciar los fragmentos del archivo original.
  • proxy_set_header – Sobrescribe la cabecera Range de la solicitud HTTP con $slice_range. Si el intervalo de bytes solicitado por el cliente no coincide con los límites entre los fragmentos creados por NGINX Plus, NGINX Plus debe realizar varias solicitudes secundarias para obtener todos los datos del intervalo de bytes solicitado por el cliente.
  • proxy_http_version – Actualiza la solicitud a HTTP/1.1, ya que HTTP/1.0 no admite solicitudes de intervalos de bytes.

Para obtener más información sobre esta nueva función, consulte esta entrada de blog relacionada.

Funciones adicionales

NGINX Plus R8 también incorpora una serie de mejoras adicionales para ayudarle a ofrecer aplicaciones sin contratiempos, entre ellas:

  • Comprobaciones de estado más flexibles para aplicaciones complejas. De forma predeterminada, NGINX Plus envía mensajes de comprobación de estado al puerto especificado por la directiva server en el bloque upstream. Con NGINX Plus R8, ahora puede especificar un puerto alternativo en cada bloque location, lo que resulta especialmente útil al supervisar el estado de varios servicios en el mismo host. Incluya el nuevo parámetro port en la directiva health_check:
location / {    proxy_pass http://backend;
    health_check port=8080;
}
  • De forma predeterminada, NGINX Plus ahora almacena en caché las solicitudes HTTP HEAD (las convierte en solicitudes GET antes de almacenarlas en caché). Para deshabilitar este tipo de almacenamiento en caché, incluya la directiva proxy_cache_convert_head off. Una solicitud HEAD es idéntica a una solicitud GET estándar, salvo que no se devuelve el cuerpo de la respuesta. Las solicitudes HEAD resultan útiles para comprobar la validez y accesibilidad de los enlaces, así como si se han modificado recientemente.
  • Una nueva variable, $realip_remote_addr, captura la dirección IP original del cliente cuando se utiliza el módulo Real IP.
  • El nuevo parámetro nohostname de las directivas access_log y error_log desactiva el registro del campo de nombre de host en syslog; el nombre de host no es necesario cuando se registran datos en un servidor syslog local.

Se han actualizado los siguientes módulos del paquete NGINX Plus Extras:

  • El módulo Headers-More se ha actualizado a la versión 0.28
  • El módulo Lua se ha actualizado a la versión 0.9.20
  • El módulo Phusion Passenger Open Source se ha actualizado a la versión 5.0.22
  • El módulo Redis se ha actualizado a la versión 0.21

Los siguientes paquetes ya no están disponibles:

  • nginx-plus-http2 – La compatibilidad con HTTP/2 ahora está integrada en los paquetes nginx-plus y nginx-plus-extras. NGINX Plus ya no es compatible con SPDY.
  • nginx-plus-lua – Para disponer de compatibilidad con Lua, utilice el paquete nginx-plus-extras.

Actualice o pruebe NGINX Plus

Si utiliza NGINX Plus, le recomendamos encarecidamente que actualice a la versión 8 lo antes posible. 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.

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 de forma gratuita con una evaluación de 30 días y comprobar por sí mismo cómo NGINX Plus puede ayudarle a distribuir sus aplicaciones y ampliar su capacidad.


Compartir
Etiquetas: API

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.