Historial de Versiones de Angie PRO#

2026#

Angie PRO 1.11.3#

Fecha de lanzamiento: 06.02.2026.

Seguridad#

  • Un atacante en una posición de intermediario (MITM) antes de un servidor proxy usando TLS, dadas condiciones fuera del control del atacante, podría inyectar datos de texto plano en la respuesta antes de que comience el handshake TLS (CVE-2026-1642); la corrección fue portada desde nginx 1.29.5.

Paquetes#

Angie PRO 1.11.2#

Fecha de lanzamiento: 15.01.2026.

Correcciones de errores#

  • Si BPF estaba deshabilitado, las solicitudes HTTP/3 podían fallar con el error [alert] sendmsg() failed (90: Message too large) while sending frames; el error había aparecido en 1.11.0.

  • Las solicitudes HTTP/3 no eran aceptadas al escuchar en una dirección IPv6 comodín con BPF habilitado; el error había aparecido en 1.11.0.

  • Cuando se especificaba un nombre de dominio en la directiva docker_endpoint, las conexiones a la API de Docker y las actualizaciones de los grupos de servidores upstream no ocurrían.

Paquetes#

02.02.2026

2025#

Angie PRO 1.11.1#

Fecha de lanzamiento: 30.12.2025.

Cambios#

  • Ahora, si solo se especifica el puerto sin IP (valor predeterminado) en la directiva acme_http_port y hay bloques server escuchando en ese puerto, el manejo del desafío HTTP para el puerto en ACME funciona solo en las direcciones IP configuradas en las directivas listen de estos bloques; no habrá intento de escuchar en todas las direcciones IP, como ocurría antes; esto hace la configuración más flexible y previene el problema con la actualización desde versiones anteriores con configuraciones donde solo había bloques server escuchando en el puerto 80 y direcciones IP particulares.

Correcciones de errores#

  • Las solicitudes HTTP/2 no se contaban en las estadísticas de zona del servidor; el error había aparecido en 1.11.0.

  • Cuando un cliente ACME estaba deshabilitado en la configuración y no tenía un certificado obtenido previamente, una solicitud de API de estadísticas para ese cliente podía causar un fallo del proceso worker.

  • Si las variables $http_host o $cookie_* se usaban como claves en la directiva status_zone dentro del bloque server, las solicitudes HTTP/3 podían no contarse en esta zona de estado.

Paquetes#

Angie PRO 1.11.0#

Fecha de lanzamiento: 24.12.2025.

Cambios#

  • La variable $http_host en solicitudes HTTP/3 ahora se inicializa desde el valor de la pseudo-cabecera :authority si la cabecera Host no fue pasada, lo cual es normal para los clientes; anteriormente, las diferencias con versiones anteriores del protocolo podían causar problemas en configuraciones con $http_host.

  • Si todos los servidores HTTP en un grupo upstream no están disponibles o devuelven un error, ahora siempre se devuelve la propia página de error en lugar de la respuesta del último servidor al recibir un estado considerado un error según la directiva proxy_next_upstream (y similares); esto asegura un comportamiento consistente en todos los casos.

  • El parámetro REQUEST_METHOD en los archivos de configuración fastcgi.conf, fastcgi_params, uwsgi_params y scgi_params ahora se establece mediante la variable $upstream_request_method, que toma el valor GET para solicitudes HEAD cuando se configura el almacenamiento en caché; esto previene un problema donde una solicitud HEAD podía previamente resultar en almacenar una respuesta vacía, que luego se serviría para solicitudes GET, ya que el método de solicitud no es parte de la clave de caché en configuraciones comunes.

  • El tamaño máximo de respuesta del servidor ACME ahora está limitado por la directiva acme_max_response_size en lugar del parámetro max_cert_size= de la directiva acme_client; el valor predeterminado es suficiente para la mayoría de los casos, pero si una actualización de certificado termina con el mensaje de error [error] too big subrequest response while sending to client, su valor debe incrementarse.

  • El valor predeterminado de la directiva variables_hash_max_size en el módulo HTTP se incrementó a 2048 para reducir la posibilidad de una advertencia sobre construcción de hash subóptima debido a nuevas variables añadidas durante los últimos años: [warn] could not build optimal variables_hash, you should increase either variables_hash_max_size: 1024 or variables_hash_bucket_size: 64; ignoring variables_hash_bucket_size.

Características#

  • El nuevo módulo Metric que permite la recopilación arbitraria de métricas HTTP en tiempo real con métodos de agregación completamente configurables (contadores, histogramas, promedios móviles, etc.); permite rastrear cualquier dato de procesamiento de solicitudes en cualquier etapa, agrupado por claves personalizadas, y expone las métricas a través de la sección de API /status/http/metric_zones/ (incluyendo soporte para Prometheus), proporcionando una poderosa herramienta de análisis integrada para todo el tráfico HTTP.

  • Soporte para validación ALPN para ACME, habilitado especificando alpn en el parámetro challenge de la directiva acme_client; permite solicitar certificados multidominio manteniendo solo el puerto HTTPS abierto.

  • Información sobre clientes ACME y el procedimiento de solicitud de certificados en la sección /status/http/acme_clients/ de la API de estadísticas (con soporte para Prometheus).

  • Añadido soporte para Encrypted Client Hello (ECH) en los módulos SSL de HTTP y stream; la nueva directiva ssl_encrypted_hello_key especifica el archivo con la clave privada; la variable $ssl_encrypted_hello contiene información sobre el uso de ECH. Gracias a Maxim Dounin (freenginx).

  • Conversión del formato de imagen usando el parámetro convert para la directiva image_filter.

  • Soporte para formatos AVIF y HEIC en el módulo Image Filter.

  • Soporte para PROXY protocol V2 con conexiones de servidor upstream en el módulo stream y la capacidad de establecer valores TLV arbitrarios usando la directiva proxy_protocol_tlv que permite una cadena con variables.

  • La variable $upstream_request_method que contiene el método de solicitud upstream, que puede ser diferente del método de solicitud del cliente cuando el almacenamiento en caché está habilitado o se establece proxy_method; esto ayuda a evitar el problema de configuración común donde una respuesta vacía HEAD en caché se sirve para solicitudes GET, así como evitar almacenar en caché respuestas HEAD y GET por separado.

  • El modo sticky, en el cual las sesiones se almacenan solo en un servidor remoto y siempre se solicitan desde él, ahora también está disponible en el módulo stream; anteriormente, solo estaba disponible en HTTP.

  • En el modo de sesión sticky con un almacén remoto, el cuerpo de respuesta ahora también se procesa; esto permite la extracción de información de vinculación también del cuerpo de la respuesta del almacenamiento externo y no solo de los campos de cabecera.

  • Se eliminó la necesidad de definir un bloque server separado con una directiva listen 80 para desafíos HTTP de ACME; el puerto de escucha puede personalizarse usando la directiva acme_http_port si es necesario.

  • Capacidad de contar el número de elementos en listas y objetos al exportar métricas de Prometheus; las rutas que terminan con una barra diagonal ahora devuelven el recuento de elementos en la colección de API correspondiente.

  • La variable $sent_body que contiene el cuerpo de respuesta de una subsolicitud o solicitud externa por el módulo cliente.

  • Soporte para mecanismos de autenticación XOAUTH2 y OAUTHBEARER en el módulo proxy de correo. Gracias a Rob Mueller y Maxim Dounin (freenginx).

  • El parámetro route de la directiva sticky ahora puede incluir cadenas arbitrarias con cualquier número de variables.

  • En el módulo ACME, el tamaño aproximado de un certificado renovado ahora se calcula automáticamente, eliminando la necesidad de incrementar el parámetro max_cert_size de la directiva acme_client al emitir un certificado con un número muy grande de dominios; el parámetro se conserva para casos donde aún se requiere configuración manual.

  • Información sobre la licencia y limitaciones en la sección /status/angie/license de la API.

  • La variable $upstream_cache_key que contiene la clave de caché que se está usando. Gracias a Kirill A. Korinsky y Maxim Dounin (freenginx).

  • Toda la funcionalidad de nginx 1.29.3 excepto las directivas add_header_inherit y add_trailer_inherit, que se omiten debido a su diseño deficiente.

Correcciones de errores#

  • Los procedimientos de recarga y actualización binaria ahora funcionan correctamente con conexiones HTTP/3; las conexiones se enrutan adecuadamente a todos los procesos existentes usando el módulo BPF.

  • Si todos los servidores en un grupo upstream no estaban disponibles o devolvían un error, entonces recibir una respuesta errónea del último podría considerarse un éxito a pesar de la configuración de la directiva proxy_next_upstream.

  • Si la ruta en la directiva try_files era más corta que un prefijo en el bloque location relevante, entonces usar un proxy_pass con una URI podía causar el fallo de un proceso worker; la corrección fue portada desde nginx 1.29.4.

  • Si un cliente ACME no era referenciado en un bloque stream a través de ninguna directiva acme, usar cualquiera de las correspondientes variables $acme_cert_* en ese bloque causaría que la configuración fuera rechazada con un error unknown variable; el error había aparecido en 1.10.3.

  • Si se configuraba la preservación del índice de caché en un archivo, la prueba de configuración durante la operación podía terminar con errores [alert] mmap() failed (17: File exists) y [alert] munmap() failed (22: Invalid argument).

  • La directiva proxy_method era ignorada si se activaba proxy_cache_convert_head on.

  • La duración del tiempo de espera especificado por la opción fail_timeout de la directiva server dentro de un bloque upstream era en realidad un segundo más larga.

  • Cargar módulos compilados para la versión de código abierto de Angie podía causar problemas y fallos debido a incompatibilidad de ABI; ahora tales configuraciones incorrectas están prohibidas con un mensaje de error relevante.

Paquetes#

Angie PRO 1.10.3#

Fecha de lanzamiento: 13.11.2025.

Seguridad#

  • El procesamiento de un login/contraseña especialmente diseñado al usar el método de autenticación none en el módulo SMTP podía causar divulgación de memoria del proceso worker al servidor de autenticación (CVE-2025-53859); la corrección fue portada desde nginx 1.29.1.

Correcciones de errores#

  • Cuando se usaba la opción renew_on_load de la directiva acme_client, un certificado obtenido previamente no se cargaba si existía. Esto podía limitar la funcionalidad hasta que se completara la renovación del certificado. Si el certificado no existía, los intentos de obtener uno nuevo fallaban con el error [alert] lseek() failed (9: Bad file descriptor).

  • Si un cliente ACME era referenciado en el bloque stream pero no en el bloque http, se deshabilitaba con la advertencia [warn] ACME client ... is defined but not used y nunca obtenía un certificado.

  • Si todas las directivas acme_client tenían el parámetro enabled=off y las variables $acme_cert_* relevantes se usaban en la configuración, Angie no iniciaba, reportando el error [emerg] unknown acme_cert_* variable.

  • Si el cliente ACME se usaba en el bloque stream que venía antes de un bloque http, entonces Angie no iniciaba, reportando el error [emerg] ACME client .. is not defined but referenced.

  • Algunas configuraciones de bloque client podían causar que los procesos worker fallaran al usar variables que hacen referencia a una conexión entrante ausente en este caso.

  • Los servidores añadidos por el módulo Docker a grupos upstream no eran monitoreados por sondas activas.

  • El parámetro send= de la directiva upstream_probe (PRO) en el módulo stream funcionaba incorrectamente para sondas UDP cuando se especificaba una ruta de archivo: en lugar del contenido del archivo, se enviaba la ruta.

  • Si se usaba la opción learn de la directiva sticky y se recargaba la configuración, el parámetro timeout= podía no funcionar hasta que se creara al menos una nueva sesión.

Paquetes#


Angie PRO 1.10.2#

Fecha de lanzamiento: 21.08.2025.

Correcciones de errores#

  • La configuración del módulo proxy en el bloque http podía romper la funcionalidad de módulos que usan el bloque client para solicitudes salientes; el error había aparecido en 1.10.0.

  • Habilitar proxy_ignore_client_abort junto con módulos que usan el bloque client para solicitudes salientes podía llevar a crashes del proceso worker; el error había aparecido en 1.10.0.

  • Si un único servidor estaba preconfigurado en un grupo upstream, los servidores añadidos mediante la API de Docker podrían no incluirse en el balanceo de carga.

  • Si el único servidor en un grupo upstream se añadía mediante la API de Docker, podría ser excluido del balanceo de carga cuando se detectaba que no estaba disponible.

Paquetes#


Angie PRO 1.10.1#

Fecha de lanzamiento: 17.07.2025.

Cambios#

  • Las directivas especificadas en el bloque client ahora solo pueden ser heredadas por bloques location declarados explícitamente dentro de ese bloque, por lo que no afectan la configuración de otros módulos que usan implícitamente el bloque client para solicitudes salientes.

Características#

  • El soporte para múltiples bloques client permite agrupar configuraciones comunes para diferentes bloques location dentro de cada bloque, lo que mitiga la duplicación de configuración.

Correcciones de errores#

  • Cuando se usaba el parámetro reuseport en la directiva listen, todas las conexiones a la dirección y puerto especificados eran manejadas por un único proceso worker; el error había aparecido en la versión 1.10.0.

  • Acceder a variables especiales $stream_* fuera del contexto de solicitud de sesión sticky de stream causaba un crash del proceso worker.

  • Un handshake HTTP/3 con un servidor upstream podía fallar con la versión 3.5.0 o posterior de la biblioteca OpenSSL si el modo retry del protocolo QUIC estaba activo en el servidor.


Angie PRO 1.10.0#

Fecha de lanzamiento: 03.07.2025.

Características#

  • Recuperación automática y actualización dinámica de grupos de servidores proxy basados en etiquetas de contenedores Docker (o Podman), configurada usando la directiva docker_endpoint. Esto permite el monitoreo en tiempo real de eventos de inicio y parada de contenedores mediante el endpoint de API de Docker especificado, y permite que sus direcciones sean añadidas o eliminadas de la lista upstream según las etiquetas especificadas, sin requerir una recarga de configuración.

  • Soporte para adquisición automática de certificados TLS mediante el protocolo ACME en el módulo stream, configurado usando la directiva acme y variables como $acme_cert_* y $acme_cert_key_*.

  • Vinculación de sesiones stream para un grupo de servidores proxy con una solicitud HTTP a almacenamiento externo, configurable mediante la directiva sticky en modo learn con los parámetros remote_action, remote_result y remote_uri. Esto permite la persistencia de sesiones de cliente a servidores balanceados en entornos clúster donde un grupo de balanceadores comparte almacenamiento común y enruta las solicitudes de cliente dentro de una sesión al mismo servidor, independientemente del balanceador que reciba la solicitud.

  • El nuevo parámetro norefresh para la directiva sticky (en modo learn) deshabilita la renovación automática de sesión al usarse.

  • Nuevo modo de sesión para sticky, en el cual las sesiones se almacenan solo en un servidor remoto y siempre se recuperan de él. El cacheo de respuestas del servidor remoto puede configurarse flexiblemente en el módulo proxy.

  • Capacidad de mantener activos los servidores de respaldo stream incluso después de que el grupo de servidores principal vuelva a estar disponible, usando la directiva backup_switch permanent[=timeout] en el bloque upstream.

  • Soporte para aceptar conexiones mediante el protocolo MPTCP usando el parámetro multipath en la directiva listen. Gracias a Maxim Dounin (freenginx), Maxime Dourov y Anthony Doeraene.

  • Nuevo bloque client para especificar configuración adicional para solicitudes HTTP internas iniciadas por varios módulos.

  • Incluye todas las características de nginx 1.27.5, incluyendo control de congestión CUBIC para conexiones QUIC.

Correcciones de errores#

  • Para servidores upstream en modo drain, el contador de tiempo de inactividad en la API de estadísticas no se detenía después de que el servidor volviera a estar disponible según las comprobaciones de salud pasivas.

Paquetes#

14.07.2025


Angie PRO 1.9.1#

Fecha de lanzamiento: 29.05.2025.

Características#

  • Soporte para direcciones IP junto con números de puerto en la directiva acme_dns_port; se permiten tanto IPv4 como IPv6.

Correcciones de errores#

  • Usar tanto un dominio comodín como dominios de tercer nivel coincidentes en directivas server_name podía causar que el servidor ACME fallara al emitir un certificado para estos dominios bajo un único cliente ACME.

  • En el módulo stream, después de una conexión exitosa al servidor proxy durante una comprobación pasiva, su estado en la API de estadísticas se mostraba erróneamente como unavailable hasta que terminaba la sesión.

  • El contador de tiempo de inactividad en la API de estadísticas podía haberse detenido o sido incorrectamente reiniciado mientras el servidor proxy en el módulo stream estaba en el estado unhealthy.

  • Las solicitudes HTTP/3 podían estancarse y agotar el tiempo de espera; la corrección fue portada desde nginx 1.29.0.

  • Un error temprano al establecer una conexión HTTP/3 a un servidor proxy podía causar un crash del proceso worker.

  • Al hacer proxy mediante el protocolo HTTP/3, el número de conexiones activas en las estadísticas podía mostrarse incorrectamente.

  • Cuando el servidor proxy en modo drain no estaba disponible, el intento de conectar a otro servidor, según las directivas proxy_next_upstream y similares, podía no ocurrir.

Paquetes#


Angie PRO 1.9.0#

Fecha de lanzamiento: 11.04.2025.

Características#

  • La capacidad de especificar un archivo en la directiva proxy_cache_path, donde el contenido de la zona de memoria compartida con el índice de caché se guardará entre inicios del servidor; esto elimina la necesidad de recargar la caché después de un reinicio y permite que el servidor vuelva a estar en línea casi inmediatamente.

  • Usar la directiva backup_switch permanent[=timeout] en el bloque upstream del módulo HTTP permite que un grupo de servidores de respaldo permanezca activo cuando los servidores del grupo principal vuelven a estar accesibles.

  • Soporte de TLS 1.3 Early Data (0-RTT) en el módulo stream usando la directiva ssl_early_data.

  • Nuevo estado busy para peers upstream en la API de estadísticas, indicando que un peer ha alcanzado el límite configurado por la opción max_conns.

  • El parámetro uri= en la directiva acme_hook permite redefinir el URI de solicitud del hook y soporta variables.

  • El parámetro renew_on_load de la directiva acme_client permite forzar la renovación del certificado al cargar la configuración.

  • El tiempo de compilación ahora se muestra mediante el campo build_time del objeto de API de estadísticas /status/angie y en la salida de la opción de línea de comandos -V.

  • Toda la funcionalidad de nginx 1.27.4, excepto la directiva keepalive_min_timeout (una característica similar ha existido desde la versión 1.8.0).

Cambios#

  • El parámetro enabled=off en la directiva acme_client ahora deshabilita solo la renovación de certificados para el cliente dado mientras preserva toda otra funcionalidad; la clave y el certificado (si están disponibles) pueden accederse mediante las variables $acme_cert_*, mientras que el uso de variables $acme_hook_* y las directivas acme no causa errores.

  • El error no valid domain name defined for ACME client ahora se emite solo si no se encuentra ningún nombre de dominio válido (es decir, conforme a ACME) en el bloque server que referencia un cliente ACME usando la directiva acme.

Correcciones de errores#

  • Si se compilaba con soporte NTLS, la herencia de las directivas proxy_ssl_certificate y proxy_ssl_certificate_key con variables no funcionaba correctamente.

Paquetes#


Angie PRO 1.8.3#

Fecha de lanzamiento: 02.04.2025.

Correcciones de errores#

  • Las estadísticas de status_zone en el bloque server del módulo HTTP podían calcularse incorrectamente si las peticiones dentro de la misma conexión pertenecían a diferentes zonas de estadísticas, o si ocurría un error durante el procesamiento temprano de la petición; el error había aparecido en 1.8.2.

Paquetes#

04.04.2025

07.04.2025

Angie PRO 1.8.2#

Fecha de lanzamiento: 13.02.2025.

Seguridad#

  • Una validación insuficiente al manejar servidores virtuales con TLSv1.3 SNI permitía que las sesiones SSL se reutilizaran en un servidor virtual diferente, evitando la verificación del certificado SSL del cliente (CVE-2025-23419); la corrección fue portada desde nginx 1.27.4.

Correcciones de errores#

  • Las sondas activas configuradas con la directiva upstream_probe (PRO) en el módulo stream podían causar el fallo del proceso worker.

  • Las peticiones API para recuperar valores estadísticos de una zona individual, que se establecía mediante variables, podían causar que el proceso worker entrara en un bucle infinito.

  • Las peticiones HTTP/3 no se contabilizaban en las estadísticas de zona; el error había aparecido en 1.8.0.

  • Los handshakes TLS usando el protocolo QUIC no se contabilizaban en las estadísticas SSL.

  • La renovación de certificados mediante el protocolo ACME podía fallar para nombres de servidor con prefijo de punto en la directiva server_name.

Paquetes#


2024#

Angie PRO 1.8.1#

Fecha de lanzamiento: 28.12.2024.

Correcciones de errores#

  • El uso de la directiva status_zone en el bloque server del módulo HTTP causaba un registro excesivo de peticiones vacías en access_log en handshakes TLS; el error había aparecido en 1.8.0.

  • Los errores de decodificación en el stream HTTP/3 podían causar el fallo del proceso worker al cerrar una conexión QUIC; la corrección fue portada desde nginx 1.27.4.

  • El envío de paquetes de negociación de versión del protocolo QUIC podía causar un bucle infinito de intercambio de paquetes; la corrección fue portada desde nginx 1.27.4.

  • El uso de DNS-challenge sin hooks en el módulo ACME podía causar el fallo del proceso worker en algunas configuraciones.

Paquetes#

23.01.2025

27.01.2025


Angie PRO 1.8.0#

Fecha de lanzamiento: 19.12.2024.

Características#

  • Vinculación de sesión HTTP para un grupo de servidores proxy con una petición a almacenamiento externo, configurable mediante la directiva sticky en el modo learn usando los parámetros remote_action y remote_result; esto permite configurar la vinculación de sesiones de cliente a servidores balanceados en modo clúster, cuando un grupo de balanceadores está unificado por almacenamiento compartido y dirige las peticiones de cliente dentro de una sesión al mismo servidor independientemente de a qué balanceador lleguen.

  • Soporte de desafíos DNS-01 mediante el manejo de consultas DNS del servidor ACME, lo que permite solicitar automáticamente certificados de cualquier tipo, incluyendo certificados wildcard.

  • Sistema de hooks en el módulo ACME, configurable usando la directiva acme_hook, que permite el manejo de desafíos de nombres de dominio usando una aplicación externa para proporcionar integración con varios servicios y proveedores de hosting DNS.

  • El módulo ACME registra información adicional: por qué exactamente se está renovando el certificado, lista completa de nombres de dominio, ID de cuenta del cliente, largos períodos de inactividad (p. ej. sondeos), y el nombre de dominio que está siendo desafiado; esta información simplifica la resolución de problemas y permite especificar el registro DNS CAA.

  • El parámetro account_key de la directiva acme_client, que permite reutilizar una clave existente para la cuenta del servidor ACME en lugar de autogenerar una nueva.

  • El soporte para variables en las directivas status_zone en los módulos stream y HTTP permite contabilizar dinámicamente estadísticas dentro de varias zonas en un único bloque location o server; en particular, es especialmente útil cuando un único bloque server está manejando múltiples hosts virtuales.

  • Compatibilidad del módulo de compresión HTTP GZip con las versiones zlib-ng 2.2.0 y superiores, que anteriormente podían causar mensajes [alert] gzip filter failed to use preallocated memory en el registro de errores.

  • La directiva max_headers que limita el número de campos de cabecera de petición HTTP para proteger mejor contra ataques DoS. Gracias a Maxim Dounin (freenginx) y Maksim Yevmenkin.

  • Las directivas http3_max_table_capacity y proxy_http3_max_table_capacity para configurar los límites de la tabla de compresión dinámica de cabeceras HTTP/3.

  • Soporte de compilación cruzada - el sistema de construcción ahora puede usar un script envolvente para ejecutar autotests, lo que permite preparar una construcción sin ejecutar programas de prueba directamente en la plataforma de destino.

  • Toda la funcionalidad de nginx 1.27.3.

Correcciones de errores#

  • Los clientes HTTP/3 podían agotar el tiempo de espera al usar 0-RTT; el error fue heredado de nginx en la versión 1.7.0.

  • El proxy con HTTP/3 usando variables en la directiva proxy_pass y sin especificar un bloque upstream podía causar el fallo del proceso worker.

  • Los upstreams HTTP/3 usando tabla dinámica podían provocar el fallo del proceso worker si se usaban con caché.

  • Algunos handshakes SSL podían no contabilizarse en las estadísticas del módulo stream.

  • La configuración de proxy HTTP/3 especificada en el nivel http o server podía ser ignorada.

  • La directiva proxy_ssl_certificate no funcionaba al hacer proxy mediante HTTP/3 con soporte NTLS habilitado.

Cambios#

  • Al cerrar gradualmente los procesos worker antiguos, las conexiones keep-alive ahora se cierran solo después de que expire el tiempo de espera especificado por la directiva lingering_timeout; este comportamiento permite evitar posibles errores del cliente al recibir respuestas en ese momento. Gracias a Maxim Dounin (freenginx).

  • Deshabilitado el almacenamiento en caché de las variables del módulo stream $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol, y $ssl_preread_server_name, lo que permite obtener valores reales al usar servidores virtuales.

Paquetes#


Angie PRO 1.7.0#

Fecha de lanzamiento: 19.09.2024.

Características#

  • Cierre forzado de todas las conexiones a un servidor proxy cuando se elimina del grupo; se puede configurar mediante las directivas proxy_connection_drop, grpc_connection_drop, fastcgi_connection_drop, scgi_connection_drop y uwsgi_connection_drop, cuyo valor puede anularse localmente con el argumento connection_drop de una solicitud API para eliminación de servidor.

  • Contadores de tipos de consulta DNS enviados en las estadísticas de la API del resolver, que se recopilan con el parámetro status_zone de la directiva resolver.

  • El balanceo de carga feedback (PRO) ahora puede usarse en el módulo stream; distribuye sesiones TCP/UDP basándose en una variable especificada, que puede obtenerse de servidores upstream proxy o solicitudes periódicas a servicios externos. Esto permite balanceo de carga dinámico dependiendo de métricas arbitrarias de servidores proxy, como consumo de recursos, utilización de CPU/memoria y longitud de cola.

  • La opción last_byte de la directiva feedback (PRO), que permite procesar la retroalimentación del servidor upstream después de recibir la respuesta completa, en lugar de solo la cabecera.

  • El método de balanceo de carga feedback (PRO) ahora acepta números de punto flotante como valor de la variable.

  • El parámetro account de la directiva least_time (PRO), que permite usar una variable para especificar qué solicitudes se consideran para el balanceo least_time, incluyendo considerar solo solicitudes upstream_probe (PRO).

  • El parámetro factor de la directiva least_time (PRO), que permite especificar un factor de suavizado ajustable para el balanceador least_time y anula el valor de response_time_factor (PRO) usado para la recopilación de estadísticas.

  • Un modo drain que cambia el servidor stream proxy a un nuevo estado draining, cuando solo las solicitudes vinculadas usando el módulo sticky se envían al servidor.

  • La variable $ssl_server_cert_type que contiene el tipo de certificado seleccionado para una conexión TLS recibida.

  • Desactivación de la creación del archivo PID con el parámetro off de la directiva pid, lo que puede ser beneficioso con imágenes inmutables y control directo por un gestor de servicios. Gracias a Maxim Dounin (freenginx).

  • La creación del archivo PID se hace atómica mediante un archivo temporal intermedio, lo que elimina el momento en que el archivo ya está en el directorio pero aún vacío, y permite a programas externos manejarlo más fácil y confiablemente.

  • Ahora, durante la reconfiguración, no se intenta recrear el archivo PID si el nombre en la directiva pid ha cambiado pero apunta al mismo archivo mediante enlaces simbólicos; en particular, permite evitar problemas en sistemas que migran de /var/run/angie.pid a /run/angie.pid. Gracias a Maxim Dounin (freenginx).

  • Los errores de registro syslog ahora se reportan no más de una vez por segundo; esto ayuda a evitar inundar los registros con tales mensajes cuando el servidor syslog está caído o sobrecargado. Gracias a Maxim Dounin (freenginx).

  • En el módulo proxy Mail, el número máximo de comandos durante la autenticación, configurado con la directiva max_commands, está limitado para proteger mejor contra ataques DoS. Gracias a Maxim Dounin (freenginx).

  • La opción --feature-cache del script ./configure para almacenar en caché sus resultados para optimización al compilar múltiples módulos o compilación cruzada.

  • Toda la funcionalidad de nginx 1.27.1.

Correcciones de errores#

  • El tiempo de espera de una solicitud en cola configurado por la directiva queue (PRO) podría causar un fallo del proceso worker.

  • Los errores PID file ... not readable (yet?) after start y Failed to parse PID from file... podrían aparecer al iniciar con systemd. Gracias a Maxim Dounin (freenginx).

Cambios#

  • Actualizadas las descripciones de códigos de estado HTTP en conformidad con RFC 9110. Gracias a Maxim Dounin (freenginx) y Michiel W. Beijen.

  • Ahora se permite un máximo de una línea vacía antes de una solicitud HTTP para proteger mejor contra ataques DoS. Gracias a Maxim Dounin (freenginx).

  • Los nombres de campos de cabecera HTTP/1.x sin dos puntos al final ahora están prohibidos; tales campos de cabecera inválidos de un cliente o un servidor proxy ahora causarán una respuesta de error. Gracias a Maxim Dounin (freenginx) y Maksim Yevmenkin.

  • Al leer un cuerpo de solicitud usando codificación de transferencia fragmentada HTTP/1.1, el tamaño total de extensiones de fragmento ignoradas y campos de cabecera de trailer ahora está limitado por la directiva client_max_body_size para proteger mejor contra ataques DoS. Gracias a Maxim Dounin (freenginx) y Bartek Nowotarski.

  • El tipo MIME en el archivo de configuración mime.types ha sido cambiado a image/bmp para la extensión bmp y application/vnd.rar para la extensión rar; establecido a application/vnd.debian.binary-package para las extensiones deb y udeb. Gracias a Yuriy Izorkin.

Paquetes#

24.10.2024


Angie PRO 1.6.2#

Fecha de lanzamiento: 16.08.2024.

Seguridad#

  • El procesamiento de un archivo MP4 especialmente diseñado con el ngx_http_mp4_module podría causar un fallo del proceso worker (CVE-2024-7347); la corrección fue portada desde nginx 1.27.1.


Angie PRO 1.6.1#

Fecha de lanzamiento: 08.08.2024.

Características#

  • Un nuevo contador passed en la zona de estadísticas API configurada por la directiva status_zone del módulo stream rastrea conexiones pasadas a otros sockets de escucha usando directivas pass.

Correcciones de errores#

  • Al usar servidores virtuales o la directiva pass en el módulo stream, las conexiones podrían contabilizarse incorrectamente en las estadísticas API.

  • Los procesos worker podrían fallar en configuraciones con 5 o más clientes ACME; el error había aparecido en 1.6.0.

  • El manejo de respuestas en caché con la cabecera X-Accel-Redirect podría causar un fallo del proceso worker. Gracias a Maxim Dounin (freenginx) y Jiří Setnička.

Paquetes#


Angie PRO 1.6.0#

Fecha de lanzamiento: 28.06.2024.

Características#

  • Balanceo de peticiones HTTP basado en el valor de una variable especificada que puede obtenerse de servidores proxy o solicitudes periódicas a servicios externos, configurado usando la directiva feedback en el bloque upstream; esto permite, en particular, redistribuir dinámicamente la carga dependiendo de métricas arbitrarias del servidor proxy: consumo de varios recursos, utilización de CPU/memoria, longitud de cola, etc.

  • La directiva sticky y opciones relacionadas en el bloque upstream del módulo stream, que permiten configurar el modo de persistencia de sesión donde todas las conexiones dentro de una sesión se enrutan al mismo servidor.

  • Extracción de valores de Cookie de conexiones RDP usando la directiva rdp_preread del módulo stream en las variables $rdp_cookie y $rdp_cookie_NAME, lo que permite registrar y vincular sesiones de cliente RDP a los mismos servidores durante el balanceo de carga.

  • La opción persistent de la directiva upstream_probe, que permite evitar esperar a que pasen las sondas essential después de la recarga de configuración para servidores previamente saludables.

  • Soporte para múltiples directivas acme en un único bloque server, lo que permite configurar la obtención de ambos tipos de certificados a la vez dentro de ese servidor virtual.

  • Opciones de línea de comandos -m y -M para mostrar una lista de módulos integrados y cargados.

  • La variable $upstream_probe que contiene el nombre de la sonda activa actual emitida por upstream_probe.

  • Soporte para BoringSSL en el módulo ACME.

  • Toda la funcionalidad de nginx 1.27.0, incluyendo soporte para servidores virtuales en el módulo stream y la directiva pass, que permite pasar conexiones aceptadas para su manejo a otros sockets de escucha, incluyendo los módulos HTTP y Mail.

Correcciones de errores#

  • Las sondas upstream_probe activas podrían no haber funcionado en algunas configuraciones mientras registraban mensajes de error como [alert] getsockname() failed (9: Bad file descriptor).

  • La solicitud de certificado vía protocolo ACME podría fallar en algunas configuraciones con un mensaje de registro como [alert] getsockname() failed (9: Bad file descriptor).

  • La solicitud de certificado con un gran número de nombres de dominio vía protocolo ACME podría fallar con un mensaje de registro como [error] JSON parser error.

  • Los clientes ACME en configuraciones con múltiples directivas error_log podrían enviar mensajes a registros incorrectos.

Paquetes#


Angie PRO 1.5.2#

Fecha de lanzamiento: 03.06.2024.

Seguridad#

  • Al usar HTTP/3, el procesamiento de una sesión QUIC especialmente diseñada podría causar un fallo del proceso worker, divulgación de memoria del proceso worker en sistemas con MTU mayor a 4096 bytes, o tener otro impacto (CVE-2024-32760, CVE-2024-31079, CVE-2024-35200, CVE-2024-34161); la corrección fue portada desde nginx 1.26.1.

Paquetes#


Angie PRO 1.5.1#

Fecha de lanzamiento: 16.05.2024.

Correcciones de errores#

  • El mecanismo proxy_next_upstream no funcionaba correctamente al editar un grupo de servidores proxy vía la API, y al usar la opción resolve de la directiva server en el bloque HTTP si el número de direcciones IP resueltas difería del número de servidores especificados.

  • Al solicitar un certificado vía protocolo ACME, podría ocurrir una falla de segmentación en un proceso worker.

  • La directiva sticky en modo learn podría funcionar incorrectamente cuando se especificaban diferentes números de variables lookup y create.

  • El mecanismo slow_start no funcionaba al hacer proxy de conexiones TCP en el módulo stream.

  • Las solicitudes HTTP/3 podrían resultar en error si se recibían como datos tempranos TLS 1.3; el error había aparecido en 1.4.0.

  • La conexión HTTP/3 podría cerrarse prematuramente al usar 0-RTT en QUIC.

  • Al leer un cuerpo de solicitud desde una conexión rápida, era posible leer durante mucho tiempo. Gracias a Maxim Dounin (freenginx).

Cambios#

  • Ahora los clientes ACME no descartan certificados previamente almacenados que estaban expirados o emitidos para una lista de dominios diferente, sino que los usan durante la renovación.

Paquetes#

27.05.2024

  • Agregados paquetes para Alpine 3.20.


Angie PRO 1.5.0#

Fecha de lanzamiento: 27.03.2024.

Características#

  • Soporte básico para obtener y actualizar automáticamente certificados usando el protocolo ACME, configurable con las directivas acme_client y acme, así como variables de la forma $acme_cert_= y $acme_cert_key_=.

  • Un modo drain que cambia el servidor HTTP proxy a un nuevo estado draining, cuando solo las solicitudes vinculadas usando el módulo sticky se envían al servidor.

  • Configuración de redirección automática, que agrega barras diagonales finales a los URIs de solicitud, con la directiva auto_redirect.

  • Salida de métricas de estadísticas con fechas en formato Epoch en lugar de ISO 8601 para uso en Prometheus y opcionalmente en la API JSON con el argumento de solicitud ?date-epoch.

  • Ahora el modificador -V también muestra la versión relevante de nginx, lo que es útil para compatibilidad con utilidades de terceros, certbot en particular. Gracias a AdvTechnoKing.

  • Toda la funcionalidad de nginx 1.25.4.

Correcciones de errores#

  • Si se usaba el mecanismo de reutilización de sesión SSL proxy_ssl_session_reuse y la lista de servidores proxy se actualizaba dinámicamente, podría ocurrir una fuga en la zona de memoria compartida configurada para el bloque upstream correspondiente.

Paquetes#

28.03.2024

16.04.2024

25.04.2024


Angie PRO 1.4.1#

Fecha de lanzamiento: 15.02.2024.

Seguridad#

  • Al usar HTTP/3, podría haber ocurrido un error de segmentación en un proceso worker mientras se procesaba una sesión QUIC especialmente diseñada (CVE-2024-24989); tenga en cuenta que Angie PRO a partir de la versión 1.4.0 no es vulnerable a CVE-2024-24990.

Paquetes#

2023#

Angie PRO 1.4.0#

Fecha de lanzamiento: 21.12.2023.

Características#

  • Soporte para establecer conexiones HTTP/3 a servidores upstream en el módulo proxy HTTP permitiendo a los clientes usar versiones HTTP arbitrarias. La configuración se realiza con la directiva proxy_http_version y un conjunto de directivas proxy_quic_ y proxy_http3_.

  • La directiva upstream_probe (PRO) para verificar la salud de los servidores en el bloque upstream del módulo stream mediante la creación periódica de conexiones de prueba o el envío de datagramas.

  • Modo learn adicional de la directiva sticky para vincular sesiones a servidores proxy que permite descubrir sesiones y guardarlas en la memoria compartida del servidor.

  • Cola de espera para solicitudes que no pudieron ser balanceadas en el primer intento, configurada usando la directiva queue (PRO) en el bloque upstream del módulo HTTP.

  • Interfaz JSON RESTful HTTP para reconfigurar, añadir o eliminar servidores en los bloques upstream del módulo stream, y la directiva state para persistir estos cambios.

  • Balanceo de carga por tiempo promedio para establecer una conexión, recibir el primer o último byte de una respuesta de servidores stream upstream proxy con un factor de suavizado ajustable, usando las directivas least_time (PRO) y response_time_factor (PRO) en el bloque upstream.

  • Estadísticas del tiempo promedio para establecer una conexión, recibir el primer y último byte de una respuesta de servidores stream upstream proxy en la interfaz proporcionada por la directiva api, con la capacidad de ajustar el factor de suavizado a través de la directiva response_time_factor (PRO) del bloque upstream.

  • Un mecanismo para poner en línea suavemente un servidor proxy después de una falla usando la opción slow_start de la directiva server en el bloque upstream.

  • Directiva mqtt_preread en el módulo stream, que permite extraer el nombre de usuario y el ID del cliente del paquete CONNECT del protocolo MQTT en las variables $mqtt_preread_username y $mqtt_preread_clientid.

  • Limitación de la velocidad de respuesta de la transmisión de archivos MP4 al cliente proporcionalmente al bitrate usando las directivas mp4_limit_rate y mp4_limit_rate_after, lo que reduce la carga de ancho de banda.

  • Toda la funcionalidad de nginx 1.25.3.

Correcciones de errores#

  • Si un servidor proxy era el único en un grupo, podría ser incorrectamente reportado como unavailable en la API de estadísticas incluso después de la recuperación.

Cambios#

  • Ahora el tiempo que un servidor proxy pasa en estado checking no se cuenta como downtime.

  • La plantilla estándar prometheus_all.conf incluye todas las métricas adicionales de Prometheus y los posibles valores state de los peers upstream que solo son expuestos por la versión PRO.

Paquetes#

25.12.2023

22.01.2024


Angie PRO 1.3.2#

Fecha de lanzamiento: 23.11.2023.

Correcciones de errores#

  • Las sondas de salud activas con la bandera essential manejaban incorrectamente la transición del servidor de checking a unhealthy cuando la comprobación inicial fallaba, resultando en que las solicitudes de usuario se enrutaban al servidor defectuoso.

  • Posibles valores incorrectos de métricas en la salida de Prometheus que usaban variables distintas de $p8s_value para sus valores; en la práctica el problema podía ocurrir con angie_http_upstreams_peers_state y angie_stream_upstreams_peers_state de la plantilla estándar prometheus_all.conf.

  • Algunos intentos de conexión a servidores upstream podrían no haberse contabilizado correctamente en la API de estadísticas si fallaban inmediatamente; el error había aparecido en 1.3.0.

Paquetes#

04.12.2023

07.12.2023

12.12.2023


Angie PRO 1.3.1#

Fecha de lanzamiento: 18.10.2023.

Seguridad#

  • Añadidas limitaciones adicionales al manejo de streams HTTP/2 para mejor protección contra el ataque DoS conocido como "HTTP/2 Rapid Reset" (CVE-2023-44487).

Paquetes#

26.10.2023

13.11.2023


Angie PRO 1.3.0#

Fecha de lanzamiento: 03.10.2023.

Características#

  • Capacidad de especificar múltiples patrones de coincidencia en la directiva location, lo que permite combinar varios bloques location con configuraciones similares y por tanto simplificar la configuración reduciendo la duplicación.

  • Balanceo de carga por tiempo promedio para recibir la cabecera de respuesta o respuesta completa de servidores HTTP proxy con un factor de suavizado ajustable, usando las directivas least_time (PRO) y response_time_factor (PRO) en el bloque upstream.

  • Exportación de métricas de estadísticas variadas en formato Prometheus con configuración de plantilla flexible usando las nuevas directivas prometheus y prometheus_template.

  • Estadísticas de tiempo promedio para recibir la cabecera de respuesta y respuesta completa de servidores HTTP proxy en la interfaz proporcionada por la directiva api, con la capacidad de ajustar el factor de suavizado promedio a través de la directiva response_time_factor (PRO) del bloque upstream.

  • Información detallada y métricas para grupos de servidores upstream de stream en la interfaz de estadísticas proporcionada por la directiva api.

  • La opción resolve de la directiva server en el bloque upstream del módulo stream que permite monitorear cambios en la lista de direcciones IP correspondientes a un nombre de dominio, y actualizarla automáticamente sin necesidad de recargar la configuración.

  • La opción service de la directiva server en el bloque upstream del módulo stream que permite recuperar listas de direcciones de registros DNS SRV, con soporte básico de prioridad.

  • Soporte para vincular una conexión de cliente a una conexión de servidor backend usando la directiva bind_conn (PRO) en los bloques upstream del módulo http, particularmente para hacer proxy de conexiones con autenticación NT LAN Manager (NTLM).

  • Acceso al contenido de archivos de configuración usados por la generación actual de procesos worker a través de la interfaz proporcionada por la directiva api con la directiva api_config_files habilitada.

  • Visualización del número de generación de configuración en títulos de proceso, lo que permite monitorear el éxito de recargas de configuración y el número de generaciones de procesos worker anteriores usando la utilidad ps.

  • Toda la funcionalidad de nginx 1.25.2.

Cambios#

  • Ahora se usa el nombre de aplicación angie al cargar la configuración de OpenSSL.

Paquetes#


Angie PRO 1.2.0#

Fecha de lanzamiento: 15.08.2023.

Características#

  • Interfaz JSON RESTful HTTP para reconfigurar, añadir o eliminar servidores en los bloques upstream del módulo HTTP, y la directiva state para persistir estos cambios.

  • La directiva upstream_probe (PRO) para verificar el estado de los servidores en el bloque upstream del módulo HTTP enviando periódicamente solicitudes de sondeo.

  • Soporte para fragmentación de caché en el módulo proxy HTTP, que permite almacenar en caché las respuestas en diferentes directorios (unidades) dependiendo de un parámetro de respuesta arbitrario, configurado con variables en la nueva opción path- de la directiva proxy_cache.

  • Soporte para NTLS en los módulos HTTP al usar la biblioteca TLS TongSuo; el soporte puede habilitarse a través de la opción de tiempo de compilación ‑‑with‑ntls y configurarse con las directivas correspondientes ssl_ntls y proxy_ssl_ntls.

  • En los módulos proxy HTTP, la capacidad de especificar múltiples certificados con diferentes tipos (RSA y ECDSA) y claves correspondientes usando las directivas proxy_ssl_certificate y proxy_ssl_certificate_key.

  • Visualización de la versión y el nombre de compilación en el título del proceso master, lo que permite obtener esta información sobre una instancia de servidor en ejecución usando la utilidad ps.

  • Capacidad del módulo gzip para comprimir respuestas "207 Multi-Status". Gracias a DBotThePony.

  • Toda la funcionalidad de nginx 1.25.0, incluyendo soporte para HTTP/3.

Cambios#

Paquetes#


Angie PRO 1.1.0-p1#

Fecha de lanzamiento: 01.03.2023.

Características#

  • La directiva sticky y opciones relacionadas en el bloque upstream del módulo HTTP que permiten configurar el modo de sesiones persistentes, donde todas las solicitudes de la sesión se enrutan al mismo servidor.

  • La variable $upstream_sticky_status que puede ser new, hit o miss dependiendo del éxito al solicitar el servidor upstream relacionado con sesiones persistentes habilitadas.


Angie PRO 1.1.0#

Fecha de lanzamiento: 07.02.2023.

Características#

  • La directiva api que proporciona una interfaz HTTP RESTful para acceder en formatos JSON o Prometheus a información básica sobre una instancia de servidor web, así como métricas de conexiones de cliente, zonas de memoria compartida, consultas DNS, solicitudes HTTP, caché de respuestas HTTP, sesiones TCP/UDP del módulo stream, zonas de los módulos limit_conn/limit_req, y grupos de servidores upstream HTTP.

  • La opción resolve de la directiva server en el bloque upstream del módulo HTTP que permite monitorear cambios en la lista de direcciones IP correspondientes a un nombre de dominio, y actualizarla automáticamente sin necesidad de recargar la configuración.

  • La opción service de la directiva server en el bloque upstream del módulo HTTP que permite recuperar listas de direcciones de registros DNS SRV, con soporte básico de prioridad.

  • La directiva status_zone en el módulo HTTP para especificar la zona para recopilar métricas de solicitudes en los contextos server y location.

  • La directiva status_zone en el módulo stream para especificar la zona para recopilar métricas de sesiones TCP/UDP.

  • El parámetro status_zone de la directiva resolver para especificar la zona para recopilar métricas sobre consultas DNS.

  • autoindex utiliza orden de clasificación natural para listados de directorios.

  • Configuración arbitraria de la firma en páginas de error predeterminadas y el campo de cabecera de respuesta Server a través de la directiva server_tokens.

  • La variable $angie_version con la versión de Angie.

  • Toda la funcionalidad de nginx 1.23.3.

Paquetes#

07.04.2023

  • Añadidos paquetes para ALT Linux.

12.05.2023

26.05.2023

  • Añadidos paquetes para Astra Linux Special Edition.

13.06.2023

12.07.2023

31.07.2023