Historial de Versiones de Angie#

2026#

Angie 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 1.11.2#

Fecha de lanzamiento: 15.01.2026.

Correcciones de errores#

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

  • Las peticiones HTTP/3 no se aceptaban al escuchar en una dirección IPv6 comodín con BPF habilitado; el error había aparecido en la versión 1.11.0.

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

Paquetes#

02.02.2026

2025#

Angie 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 peticiones HTTP/2 no se contaban en las estadísticas de zona de servidor; el error había aparecido en la versión 1.11.0.

  • Cuando un cliente ACME estaba deshabilitado en la configuración y no tenía un certificado obtenido previamente, una petición a la API de estadísticas para ese cliente podía provocar el bloqueo de un proceso de trabajo.

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

Paquetes#

Angie 1.11.0#

Fecha de lanzamiento: 24.12.2025.

Cambios#

  • La variable $http_host en peticiones HTTP/3 ahora se inicializa desde el valor de la pseudo-cabecera :authority si la cabecera Host no se pasó, 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 página de error propia 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 peticiones HEAD cuando se configura el caché; esto previene un problema donde una petición HEAD podía previamente resultar en almacenar una respuesta vacía, que luego se serviría para peticiones GET, ya que el método de petición 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.

Funciones#

  • 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 peticiones 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 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 a servidores 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 petición upstream, que puede ser diferente del método de petición del cliente cuando el 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 peticiones GET, así como evitar cachear respuestas HEAD y GET por separado.

  • Eliminada 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 subpetición o petición externa por el módulo client.

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

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

  • Soporte para compilar con la librería SSL AWS-LC. Gracias a Piotr Sikora (piotr at aviatrix.com).

  • El nuevo objetivo de Makefile test que ejecuta el conjunto de pruebas.

  • 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 podí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 un URI podía provocar el bloqueo de un proceso de trabajo; la corrección se transfirió desde nginx 1.29.4.

  • Si un cliente ACME no se referenciaba en un bloque stream mediante ninguna directiva acme, usar cualquiera de las variables $acme_cert_* correspondientes en ese bloque haría que la configuración fuera rechazada con un error unknown variable; el error había aparecido en la versión 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 se ignoraba 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.

  • Angie no podía compilarse en NetBSD 10.0. Gracias a Maxim Dounin (freenginx).

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

Paquetes#

Angie 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 de trabajo al servidor de autenticación (CVE-2025-53859); la corrección se transfirió 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 cargaría 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 fallarían con el error [alert] lseek() failed (9: Bad file descriptor).

  • Si un cliente ACME se referenciaba 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 obtendrí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 se iniciaría, 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, Angie no se iniciaría, reportando el error [emerg] ACME client .. is not defined but referenced.

  • Algunas configuraciones de bloque client podían causar bloqueos de procesos de trabajo al usar variables que se refieren a una conexión entrante ausente en este caso.

Paquetes#


Angie 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 peticiones de salida; el error había aparecido en la versión 1.10.0.

  • Habilitar proxy_ignore_client_abort junto con módulos que usan el bloque client para peticiones de salida podía provocar bloqueos en los procesos de trabajo; el error había aparecido en la versión 1.10.0.

  • Si un único servidor estaba preconfigurado en un grupo upstream, los servidores añadidos mediante la API de Docker podí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, podía ser excluido del balanceo de carga al detectarse como no disponible.

Paquetes#


Angie 1.10.1#

Fecha de lanzamiento: 17.07.2025.

Cambios#

  • Las directivas especificadas en el bloque client ahora solo pueden heredarse en los 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 peticiones de salida.

Funciones#

  • Soporte para múltiples bloques client, lo que permite agrupar dentro de cada bloque configuraciones comunes para diferentes bloques location, reduciendo así la duplicación de configuración.

Correcciones de errores#

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

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

  • La compilación de los módulos HTTP/2 y HTTP/3 usando GCC 15 resultaba en un error.

  • La compilación con la opción -O3 podía resultar en un error al usar GCC.


Angie 1.10.0#

Fecha de lanzamiento: 03.07.2025.

Funciones#

  • Recuperación automática y actualización dinámica de grupos de servidores proxy basados en etiquetas de contenedores Docker (o Podman), configurados con la directiva docker_endpoint. Esto permite la monitorización en tiempo real de los eventos de inicio y parada de contenedores a través del endpoint especificado de la API de Docker, y permite añadir o eliminar sus direcciones de un grupo upstream en función de sus etiquetas, todo ello sin necesidad de recargar la configuración.

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

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

  • Nuevo bloque client, que permite especificar configuración adicional para las peticiones HTTP internas generadas por varios módulos.

  • Incluye toda la funcionalidad de nginx 1.27.5, incluyendo el control de congestión CUBIC para conexiones QUIC.

Paquetes#

14.07.2025


Angie 1.9.1#

Fecha de lanzamiento: 29.05.2025.

Funciones#

  • 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 a la vez un dominio comodín y dominios de tercer nivel coincidentes en directivas server_name podía hacer 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 correcta al servidor proxy durante una comprobación pasiva, su estado en la API de estadísticas se mostraba erróneamente como unavailable hasta que finalizaba la sesión.

  • Las peticiones HTTP/3 podían quedarse bloqueadas y agotar el tiempo de espera; la corrección se transfirió desde nginx 1.29.0.

  • Un error temprano al establecer una conexión HTTP/3 con un servidor proxy podía provocar el bloqueo de un proceso de trabajo.

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

Paquetes#


Angie 1.9.0#

Fecha de lanzamiento: 11.04.2025.

Funciones#

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

  • 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 la petición 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 la 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 funcionalidad similar ha existido desde la versión 1.8.0).

Cambios#

  • El parámetro enabled=off en la directiva acme_client ahora desactiva solo la renovación de certificados para el cliente dado mientras preserva toda la demás 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 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 ser mal calculadas 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 1.8.2#

Fecha de lanzamiento: 13.02.2025.

Seguridad#

  • 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 se transfirió desde nginx 1.27.4.

Correcciones de errores#

  • Las peticiones a la API para recuperar valores estadísticos de una zona individual, que se establecía mediante variables, podían causar que un proceso de trabajo 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 1.8.1#

Fecha de lanzamiento: 28.12.2024.

Correcciones de errores#

  • Usar 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.

  • Errores de decodificación en flujos HTTP/3 podían causar el bloqueo de un proceso de trabajo al cerrar una conexión QUIC; la corrección se transfirió 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 se transfirió desde nginx 1.27.4.

  • Usar desafío DNS sin hooks en el módulo ACME podía causar el bloqueo de un proceso de trabajo en algunas configuraciones.

Paquetes#

23.01.2025

27.01.2025


Angie 1.8.0#

Fecha de lanzamiento: 19.12.2024.

Funciones#

  • Soporte de desafíos DNS-01 mediante el manejo de consultas DNS desde el servidor ACME, lo que permite solicitar automáticamente certificados de cualquier tipo, incluidos los comodín.

  • Sistema de hooks en el módulo ACME, configurable usando la directiva acme_hook, que permite manejar desafíos de nombres de dominio usando una aplicación externa para proporcionar integración con varios servicios y proveedores de alojamiento 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 generar automáticamente una nueva.

  • 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 2.2.0 y superiores de zlib-ng, 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 compilación ahora puede usar un script envolvente para ejecutar pruebas automáticas, lo que permite preparar una compilació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.

  • Hacer proxy con HTTP/3 usando variables en la directiva proxy_pass y sin especificar un bloque upstream podía bloquear el proceso de trabajo.

  • Los upstreams HTTP/3 que usan tabla dinámica podían provocar el bloqueo del proceso de trabajo 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 a nivel http o server podía ser ignorada.

  • La directiva proxy_ssl_certificate no funcionaba al hacer proxy a través de HTTP/3 con soporte NTLS habilitado.

Cambios#

  • Al apagar gradualmente procesos de trabajo 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 1.7.0#

Fecha de lanzamiento: 19.09.2024.

Funciones#

  • El cierre forzado de todas las conexiones a un servidor proxy cuando se elimina del grupo puede configurarse mediante las directivas proxy_connection_drop, grpc_connection_drop, fastcgi_connection_drop, scgi_connection_drop, y uwsgi_connection_drop.

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

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

  • Deshabilitació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).

  • Creación del archivo PID hecha atómica mediante un archivo temporal intermedio, lo que elimina un 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 compilar de forma cruzada.

  • Toda la funcionalidad de nginx 1.27.1.

Correcciones de errores#

  • Los errores PID file ... not readable (yet?) after start y Failed to parse PID from file... podí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 petición 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 petición 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

29.11.2024


Angie 1.6.2#

Fecha de lanzamiento: 16.08.2024.

Seguridad#

  • Procesar un archivo MP4 especialmente manipulado con el ngx_http_mp4_module podía causar el bloqueo de un proceso de trabajo (CVE-2024-7347); la corrección fue portada desde nginx 1.27.1.


Angie 1.6.1#

Fecha de lanzamiento: 08.08.2024.

Funciones#

Correcciones de errores#

  • Al usar servidores virtuales o las directivas pass en el módulo stream, las conexiones podían contabilizarse de forma incorrecta en la API de estadísticas.

  • Los procesos de trabajo podían bloquearse en configuraciones con 5 clientes ACME o más; el error había aparecido en la versión 1.6.0.

  • Manejar respuestas en caché con la cabecera X-Accel-Redirect podía bloquear el proceso de trabajo. Gracias a Maxim Dounin (freenginx) y Jiří Setnička.

Paquetes#


Angie 1.6.0#

Fecha de lanzamiento: 28.06.2024.

Funciones#

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

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

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

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

  • 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#

  • La solicitud de certificado mediante el protocolo ACME podía resultar en un error 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 mediante el protocolo ACME podía resultar en un error con un mensaje de registro como [error] JSON parser error.

  • Los clientes ACME en configuraciones con múltiples directivas error_log podían registrar mensajes en registros irrelevantes.

Paquetes#


Angie 1.5.2#

Fecha de lanzamiento: 03.06.2024.

Seguridad#

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

Paquetes#


Angie 1.5.1#

Fecha de lanzamiento: 16.05.2024.

Correcciones de errores#

  • El mecanismo proxy_next_upstream no funcionaba correctamente al usar la opción resolve de la directiva server en el bloque upstream si el número de direcciones IP resueltas difería del número de servidores especificados.

  • Al solicitar un certificado mediante el protocolo ACME, podía producirse un fallo de segmentación en un proceso de trabajo.

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

  • Las solicitudes HTTP/3 podían resultar en un error si se recibían como datos tempranos TLS 1.3; el error había aparecido en la versión 1.4.0.

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

  • Al leer un cuerpo de solicitud desde una conexión rápida, la lectura podía prolongarse durante mucho tiempo. Gracias a Maxim Dounin (freenginx).

Cambios#

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

Paquetes#

27.05.2024

  • Añadidos paquetes para Alpine 3.20.


Angie 1.5.0#

Fecha de lanzamiento: 27.03.2024.

Funciones#

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

  • Configuración de redirección automática, que añade barras 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.

  • Nuevo estado recovering para pares upstream en la API de estadísticas, indicando que un par se está iniciando lentamente después de un fallo, según lo sugerido por la opción slow_start.

  • 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, podía producirse una fuga en la zona de memoria compartida (zone) configurada para el bloque upstream correspondiente.

Paquetes#

28.03.2024

16.04.2024

25.04.2024


Angie 1.4.1#

Fecha de lanzamiento: 15.02.2024.

Seguridad#

  • Al usar HTTP/3, podía producirse un error de segmentación en un proceso de trabajo al procesar una sesión QUIC especialmente manipulada (CVE-2024-24989); cabe señalar que Angie a partir de la versión 1.4.0 ya no es vulnerable a CVE-2024-24990.

Paquetes#

2023#

Angie 1.4.0#

Fecha de lanzamiento: 12.12.2023.

Funciones#

  • Soporte para establecer conexiones HTTP/3 a servidores upstream en el módulo HTTP proxy 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_.

  • Un mecanismo para reactivar suavemente el servidor proxy tras un fallo 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 de cliente del paquete CONNECT del protocolo MQTT en las variables $mqtt_preread_username y $mqtt_preread_clientid.

  • Limitación de la velocidad de respuesta en la transmisión de archivos MP4 al cliente proporcionalmente a la tasa de bits mediante 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, podía reportarse incorrectamente como unavailable en la API de métricas incluso después de recuperarse.

Paquetes#

18.12.2023

25.12.2023

22.01.2024


Angie 1.3.2#

Fecha de lanzamiento: 23.11.2023.

Correcciones de errores#

  • 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 darse con angie_http_upstreams_peers_state y angie_stream_upstreams_peers_state del archivo de plantilla estándar prometheus_all.conf.

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

Paquetes#

04.12.2023

07.12.2023


Angie 1.3.1#

Fecha de lanzamiento: 18.10.2023.

Seguridad#

  • Se añadieron limitaciones adicionales al manejo de flujos HTTP/2 para mejorar la protección contra el ataque DoS conocido como "HTTP/2 Rapid Reset" (CVE-2023-44487).

Paquetes#

26.10.2023

13.11.2023


Angie 1.3.0#

Fecha de lanzamiento: 19.09.2023.

Funciones#

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

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

  • 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 monitorizar cambios en la lista de direcciones IP correspondientes a un nombre de dominio, y actualizarlos 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 desde registros DNS SRV, con soporte básico de prioridad.

  • Acceso al contenido de los archivos de configuración usados por la generación actual de procesos de trabajo 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 los títulos de procesos, lo que permite monitorizar el éxito de recargas de configuración y el número de generaciones previas de procesos de trabajo usando la utilidad ps.

  • Toda la funcionalidad de nginx 1.25.2.

Corrección de error#

  • La compilación fallaba cuando se usaban las opciones de ./configure --without-http_upstream_zone_module o --without-stream_upstream_zone_module; el error había aparecido en 1.2.0.

Cambios#

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

Paquetes#


Angie 1.2.0#

Fecha de lanzamiento: 30.05.2023.

Funciones#

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

  • La variable $upstream_sticky_status que puede tomar los valores NEW, HIT o MISS dependiendo del éxito de la petición al servidor upstream correspondiente con sesiones sticky habilitadas.

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

  • En los módulos proxy de HTTP, la capacidad de especificar múltiples certificados con diferentes tipos (RSA y ECDSA) y las claves correspondientes mediante 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 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 de HTTP/3.

Paquetes#

13.06.2023

12.07.2023

28.07.2023

18.08.2023


Angie 1.1.0#

Fecha de lanzamiento: 24.01.2023.

Funciones#

  • La opción resolve de la directiva server en el bloque upstream del módulo HTTP que permite monitorizar cambios en la lista de direcciones IP correspondientes a un nombre de dominio y actualizarlos 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 desde registros DNS SRV, con soporte básico de prioridad.

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

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

  • Toda la funcionalidad de nginx 1.23.3.

Corrección de error#

  • La compilación fallaba debido a una falsa advertencia al usar GCC 9 o anterior con la optimización -O2 o superior.

Paquetes#

15.03.2023

07.04.2023

  • Añadidos paquetes para Linux ALT.

11.05.2023

26.05.2023

  • Añadidos paquetes para Linux Astra Edición Especial.


2022#

Angie 1.0.0#

Fecha de lanzamiento: 27.10.2022.

Funciones#

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

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

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

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

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

  • Toda la funcionalidad de nginx 1.23.2.