История версий Angie ADC#
Текущая версия:
Angie ADC 0.3.4 Дата выпуска: 28.07.25 Балансировщик нагрузки: Директивы, заданные на уровне блока Балансировщик нагрузки: Поддержка нескольких блоков Активные проверки (health probes) теперь могут проверять доступность серверов
при помощи ICMP echo запросов. В директиву Опция Автоматическое получение и динамическое обновление групп проксируемых серверов
на основе меток Docker-контейнеров (или Podman), настраиваемое с помощью
директивы Поддержка автоматического получения TLS-сертификатов по протоколу ACME в
Привязка Новый параметр Новый режим работы sticky с сессиями, при котором сессии хранятся только
на удаленном сервере и всегда запрашиваются с него; кэширование ответов
удаленного сервера при этом может быть гибко настроено в модуле проксирования. Возможность группе резервных (backup) проксируемых Поддержка приема соединений по протоколу MPTCP, включаемая с помощью опции
Блок client, позволяющий задавать дополнительную конфигурацию для
внутренних HTTP-запросов, исходящих от различных модулей. Вся функциональность nginx 1.27.5,
включая контроль перегрузки CUBIC в соединениях QUIC. Балансировщик нагрузки: У проксируемых серверов в режиме Обращение к специальным переменным HTTP/3-согласование с проксируемым сервером могло завершаться ошибкой при
использовании библиотеки OpenSSL версии 3.5.0 или выше, если на сервере был
активен режим Route Health Injection: Исправлено поведение, при котором в RHI была возможность добавлять
только один префикс-лист для одного апстрима. В образ включен пакет qemu-guest-agent версии 9.0.0 для систем виртуализации KVM (QEMU). Дата выпуска: 24.06.25 Балансировщик нагрузки: возможность задать в директиве Балансировщик нагрузки: Одновременное наличие в директивах В В Запросы HTTP/3 могли зависать и завершаться по таймауту; исправление
портировано из nginx 1.29.0. Ранняя ошибка при установлении соединения HTTP/3 с проксируемым сервером могла
приводить к падению рабочего процесса. При проксировании по протоколу HTTP/3 число активных соединений
могло отображаться в статистике некорректно. Когда проксируемый сервер в режиме Обновлены базовые пакеты РЕД ОС 7.3. В образ включен пакет open-vm-tools версии 12.4.0. Дата выпуска: 02.06.25 Поддержка протокола VRRP для обеспечения отказоустойчивости. Поддержка Route Health Injection для учета состояния апстримов
при выборе маршрутов. Балансировщик нагрузки: Возможность задать файл в директиве Поддержка нескольких групп резервных проксируемых серверов,
с указанием уровня группы резервирования сервера
директивой Возможность группе резервных (backup) проксируемых HTTP-серверов оставаться
активной в случае, когда серверы из основной группы стали вновь доступны,
использующая директиву backup_switch permanent[=timeout]
в блоке Поддержка механизма TLS 1.3 Early Data (0-RTT) в Новый статус Параметр Параметр Отображение даты и времени сборки в поле Вся функциональность nginx 1.27.4, за
исключением директивы Поддержка сценария ручной настройки пула SNAT (SNAT Pool). Режим отказоустойчивости Active-Active по протоколу BGP. Добавлена статья по настройке проверок работоспосбности апстримов балансировщика. Дополнительные функции при работе с резервными копиями конфигурации балансировщика нагрузки в консоли Angie ADC: Можно вернуть рабочий статус конфигурации, которая ранее была помечена как нерабочая. Теперь нельзя пометить первую конфигурацию балансировщика как нерабочую. В консоль Angie ADC добавлена информация о решении и используемой версии (закладка "Об Angie ADC"). В справку командной строки (CLI) добавлено разбиение по функциям для более удобного поиска информации. Параметр Ошибка При сборке с поддержкой NTLS наследование директив
Cтатистика Дата выпуска: 14.04.2025. Исправлена ошибка в конфигурации adc-cli для виртуального устройства (VA) Angie ADC,
приводившая к получению Дата выпуска: 25.03.2025. Настройка безопасного соединения (HTTPS). Загрузка и раздача статических файлов через балансировщик нагрузки. Резервное копирование и восстановление конфигурации балансировщика нагрузки: просмотр истории создания резервных копий; применение любой ранее созданной конфигурации; возможность пометить резервную копию конфигурации как нерабочую; возможность откатиться к последней рабочей версии конфигурации. Настройка модулей и функций через интерфейс Angie ADC CLI. Марштрутизация по протоколам BGP, OSPF, RIP и PBR. Реализация новых функций на уровне ядра системы: Route Health Injection; Настройка журналирования через syslog. Балансировщик нагрузки: Привязка HTTP-сессий для группы проксируемых серверов с запросом во внешнее
хранилище, настраиваемое директивой Поддержка валидации Система внешних вызовов в модуле ACME, настраиваемая с помощью директивы
ACME-модуль выводит в лог дополнительную информацию: точная причина обновления
сертификата, полный список доменов, идентификатор аккаунта пользователя,
длительные периоды неактивности (например, во время опросов), какой домен
выполняет валидацию. Такая информация позволяет легче диагностировать проблемы
на этапе перевыпуска сертификатов, а также прописывать DNS-запись CAA. Параметр Поддержка переменных в директиве Совместимость HTTP-модуля сжатия GZip с версиями библиотеки Директива Директивы Поддержка кросс-компиляции — система сборки теперь может использовать
скрипт-обертку для запуска автотестов, что позволяет подготовить сборку без
запуска тестовых программ непосредственно на целевой платформе. Вся функциональность nginx 1.27.3. Веб-консоль Angie ADC: возможность поменять логин и пароль; просмотр уже введенного пароля; удаление пользователей консоли. Добавлена команда Добавлена конечная точка для сбора информации о состоянии системы (загрузка CPU, память, диск,
состояние апстримов балансировщика нагрузки и т.д.). Добавлена настройка для изменения В справку добавлены сценарии по настройке Angie ADC: Балансировщик нагрузки: При плавном завершении старых рабочих процессов keepalive-соединения теперь
закрываются только после истечения таймаута, заданного директивой
Отключено кэширование значений переменных stream-модуля
Недостаточная проверка в обработке виртуальных серверов при использовании SNI
в TLSv1.3 позволяла повторно использовать SSL-сессию в контексте другого
виртуального сервера, обходя проверку клиентских SSL-сертификатов
(CVE-2025-23419);
исправление портировано из nginx 1.27.4. Модуль GSLB теперь автоматически перезапускается после изменения конфигурации. Балансировщик нагрузки: HTTP/3-клиенты могли отключаться по таймауту при использовании Проксирование по HTTP/3 с использованием переменных в директиве
Кэширование HTTP/3-ответов при использовании динамической таблицы сжатия
заголовка могло привести к падению рабочего процесса. Некоторые SSL-рукопожатия могли не учитываться в счетчиках статистики для
stream-модуля. Настройки HTTP/3-проксирования, указанные на уровне При проксировании по протоколу HTTP/3 с включенной поддержкой NTLS директива
Использование директивы Ошибки декодирования потока HTTP/3 могли приводить к падению рабочего процесса
при закрытии QUIC-соединения; исправление портировано из nginx 1.27.4. Отправка пакетов с согласованием версии протокола QUIC могла привести к
бесконечному циклу обмена пакетами; исправление портировано из nginx 1.27.4. Использование DNS-валидации без хуков в ACME-модуле на
некоторых конфигурациях могло привести к падению рабочего процесса. Активные проверки, заданные директивой Запросы к API для получения значений статистики из отдельной зоны, которая
была задана через переменные, могли приводить к зацикливанию рабочего
процесса. HTTP/3-запросы не учитывались в зонах статистики. TLS-согласования по протоколу QUIC не учитывались в статистике по SSL. Использование доменных имен, начинающихся с точки, в директиве
Исправление уязвимостей. Дата выпуска: 07.09.2024. Регистрация в Реестре ПО: номер 24972 от 27.11.2024. Балансировщик нагрузки: Полная функциональность на основе Angie PRO 1.7.0. Дополнительные функции: Балансировка с учетом полосы пропускания до или от проксируемых серверов,
с настраиваемым коэффициентом сглаживания, использующая директиву
Балансировка с учетом полосы пропускания, расчитываемой
по количеству пакетов в единицу времени, до или от проксируемых stream-серверов,
использующая директиву Модуль GSLB. Веб-консоль Angie ADC: просмотр статистики балансировщика нагрузки; управление пользователями.История изменений#
2025#
Angie ADC 0.3.4#
Изменения#
client
, теперь могут наследоваться
только в явно объявленных внутри него блоках location
и не оказывают
влияния на настройки других модулей, неявно использующих блок client
для исходящих запросов.Добавления#
client
позволяет сгруппировать общие
настройки для разных блоков location
внутри каждого из них, что
помогает избежать дублирования конфигурации.upstream_probe
добавлены новые параметры ping
и ping_timeout
.backup=prio
директивы server
блока конфигурирования upstream-сервера
позволяет использовать приоритет из SRV-записи в качестве абсолютного
значения уровня группы резервных серверов.docker_endpoint
; это позволяет на указанном Docker API в
реальном времени отслеживать запуск и остановку контейнеров и, соответственно,
добавлять или удалять их адреса из списка upstream
согласно прописанным
в них специальным меткам и без перезагрузки конфигурации.stream
-модуле, настраиваемое с использованием директивы acme
и переменных вида $acme_cert_*
и
$acme_cert_key_*
.stream
-сессий для группы проксируемых серверов с HTTP-запросом
во внешнее хранилище, настраиваемое директивой sticky в режиме
learn
с помощью параметров remote_action
, remote_result
и remote_uri
; это позволяет привязывать клиентские сессии к
балансируемым серверам в кластерном режиме, когда группа балансировщиков
объединяется общим хранилищем и направляет запросы клиента в рамках одной
сессии на один и тот же сервер вне зависимости от того, на какой балансировщик
они попали.norefresh
директивы sticky
(в режиме learn
),
позволяющий отключать автоматическое продление жизни сессий при их использовании.stream
-серверов
оставаться активной в случае, когда серверы из основной группы стали вновь
доступны, использующая директиву backup_switch permanent[=timeout]
в
блоке upstream.multipath
директивы listen.
Спасибо Максиму Дунину (freenginx), Максиму Дурову и Энтони Дорену.Исправления#
drain
не останавливался отсчет
времени неработоспособности в API статистики после того, как проксируемый
сервер снова становился доступным по результатам пассивных проверок.$stream_*
вне контекста обработки
запроса sticky-сессии модуля stream
приводило к падению рабочего
процесса.retry
QUIC-протокола.Пакеты#
Angie ADC 0.3.3#
Добавления#
acme_dns_port
не только номер порта,
но и IP-адрес; поддерживаются IPv4 и IPv6.Исправления#
server_name
wildcard-домена и
совпадающих с ним доменов третьего уровня приводило к ошибке ACME-сервера при
выпуске сертификата для этих доменов в рамках одного ACME-клиента.stream
-модуле после успешного соединения с проксируемым сервером во
время пассивной проверки его статус в API статистики ошибочно продолжал
отображаться как unavailable
до завершения сессии.stream
-модуле отсчет времени неработоспособности в API статистики
мог остановиться или ошибочно сброситься, если проксируемый сервер находился в
состоянии unhealthy
.drain
оказывался недоступен,
попытка соединиться с другим сервером согласно настройкам
proxy_next_upstream
и аналогичным директивам могла не выполняться.Пакеты#
Angie ADC 0.3.2#
Функции#
Добавления#
proxy_cache_path
, в который между
запусками сервера будет сохраняться содержимое зоны разделяемой памяти с
индексом кэша; что избавляет от необходимости подгружать кэш после
перезагрузки и позволяет практически сразу вернуть сервер в работу.backup=level
в блоках stream
и http
.upstream
.stream
-модуле с
помощью директивы s_ssl_early_data
.busy
у проксируемых серверов в API статистики, означающий,
что число запросов на сервер достигло ограничения, заданного опцией
max_conns
.uri=
в директиве acme_hook
, который позволяет
переопределять строку запроса к внешнему приложению, в том числе, используя
переменные.renew_on_load
директивы acme_client
, позволяющий
форсировать обновление сертификата при загрузке конфигурации.build_time
объекта
/status/angie
API статистики, а также в выводе ключа командной строки
-V
.keepalive_min_timeout
(аналогичный функционал
уже существовал).Изменения#
enabled=off
в директиве acme_client
теперь отключает
только обновление сертификата для данного клиента, но сохраняет весь остальной
функционал; так, остается возможность использовать ключ и сертификат (при
наличии) через переменные $acme_cert_*
, а использование переменных
$acme_hook_*
и директив acme
не приводит к ошибкам.no valid domain name defined for ACME client
теперь возникает
только если на ACME-клиент есть ссылка из директивы acme
в блоке
server
, но ни один из доменов этого сервера не соответствует требованиям
ACME.Исправления#
proxy_ssl_certificate
и proxy_ssl_certificate_key
с
переменными работало некорректно.status_zone
в блоке server
HTTP-модуля могла
считаться некорректно, если запросы попадали в разные зоны статистики в рамках
одного соединения или на раннем этапе обработки запроса происходила ошибка;
проблема появилась в 0.2.0.Angie ADC 0.2.1#
Исправления#
404
при загрузке сертификата.Angie ADC 0.2.0#
Функции#
Добавления#
sticky
в режиме learn
с
помощью параметров remote_action
и remote_result
. Это
позволяет конфигурировать привязку клиентских сессий к балансируемым серверам
в кластерном режиме, когда группа балансировщиков объединяется общим
хранилищем и направляет запросы клиента в рамках одной сессии на один и тот же
сервер вне зависимости от того, на какой балансировщик они попали.DNS-01
посредством ответа на DNS-запрос от
ACME-сервера, что позволяет автоматически запрашивать сертификаты любых типов,
в том числе wildcard.acme_hook
, которая позволяет обеспечить валидацию доменных имен
посредством внешнего обработчика для интеграции с различными сервисами и
провайдерами DNS-хостинга.account_key
в директиве acme_client
, позволяющий
переиспользовать существующий ключ аккаунта ACME-сервера, а не генерировать
новый автоматически.status_zone
в модулях HTTP и stream
позволяет динамически распределять статистику по нескольким зонам в рамках
одного блока location
или server
. Это, в частности, пригодится
для случая, когда один блок server
обрабатывает несколько виртуальных
хостов.zlib-ng
2.2.0 и выше, которые ранее могли приводить к появлению в логе ошибок вида
[alert] gzip filter failed to use preallocated memory
.max_headers
, ограничивающая максимальное количество полей
заголовка в HTTP-запросе для лучшей защиты от DoS-атак. Спасибо Максиму Дунину
(freenginx) и Максиму Евменкину.http3_max_table_capacity
и
proxy_http3_max_table_capacity
для настройки ограничения на размер
динамической таблицы сжатия заголовка в HTTP/3.reload
в Angie ADC CLI для балансировщика нагрузки и сборщика метрик Prometheus.host
и port
для /metrics
.Изменения#
lingering_timeout
. Такое поведение позволяет предотвратить возможные
ошибки на клиенте при получении ответа в этот момент. Спасибо Максиму Дунину
(freenginx).v_ssl_server_name
, v_ssl_server_cert_type
,
v_ssl_preread_protocol
и v_ssl_preread_server_name
, что
позволит получить актуальные значения при использовании виртуальных серверов.Безопасность#
Исправления#
0-RTT
.
Проблема была унаследована из nginx в версии 0.1.0.proxy_pass
и без указания блока upstream
могло приводить к
падению рабочего процесса.http
или
server
, могли игнорироваться.proxy_ssl_certificate
не работала.status_zone
в блоке server
HTTP-модуля
приводило к избыточному логированию пустых запросов в access_log
во
время TLS-согласований.upstream_probe
в
stream
-модуле, могли приводить к падению рабочего процесса.server_name
, могло привести к ошибке обновления сертификата по
протоколу ACME.2024#
Angie ADC 0.1.0#
Функции#
least_bandwidth
в блоках upstream
и http
.least_packets
в блоке upstream
.