История версий Angie ADC#
Что нового#
Angie ADC 0.7.2#
Дата выпуска: 30.01.26 В модуль NJS добавлена поддержка XML.Добавления#
История изменений#
Angie ADC 0.7.1#
Дата выпуска: 27.01.26 Консоль Angie ADC: просмотр и редактирование
конфигурации балансировщика нагрузки теперь доступны в разделе Управление трафиком. В сборку включен сторонний модуль NJS. В мастере первоначальной настройки исправлена ошибка, приводившая к невозможности создания бонда.Добавления#
Исправления#
Angie ADC 0.7.0#
Дата выпуска: 23.01.26 Мастер первоначальной настройки Angie ADC: Теперь в мастере можно создавать бонды и VLAN. Консоль Angie ADC: Улучшена навигация в консоли: панель навигации
теперь расположена вертикально;
добавлена группировка вкладок по разделам. Добавлен новый раздел "Система": в нем можно
задать имя устройства,
настроить синхронизацию времени (NTP)
и передачу логов на удаленные syslog-серверы. Имя текущего устройства Angie ADC теперь всегда отображается в верхней части экрана консоли. Новые команды CLI: Новые команды API: Пара высокой доступности: Поддержка sticky-сессий. Балансировщик нагрузки: Балансировка трафика на основе набора шифров. Произвольно конфигурируемый сбор статистики с помощью
нового модуля Metric в HTTP; позволяет, используя различные методы
(счетчики, гистограммы, скользящие средние и др.), агрегировать любые
данные на разных стадиях обработки запроса в реальном времени с
помощью переменных по заданным ключам и отдавать их в секции
Поддержка ALPN-верификации для ACME, задаваемая при
помощи значения Информация об ACME-клиентах и процедуре получения
сертификата в разделе Добавлена поддержка Encrypted Client Hello (ECH) в HTTP и
stream SSL-модулях; директива ssl_encrypted_hello_key позволяет
задать файл с приватным ключом; переменная Поддержка PROXY-протокола второй версии в stream-модуле в
сторону проксируемых серверов с возможностью передачи произвольных
значений через TLV-записи с помощью директивы
proxy_protocol_tlv, в которой можно указывать строки с переменными. Переменная Режим работы sticky, при котором сессии хранятся только
на удалённом сервере и всегда запрашиваются с него, теперь доступен
также и в В режиме хранения привязки sticky-сессий во внешнем
хранилище теперь обрабатывается тело ответа; это позволяет извлекать
данные о сессии из тела ответа на запрос к внешнему хранилищу, а не
только из полей заголовка. Теперь HTTP-верификация в ACME может работать без блоков
Возможность подсчета количества элементов в списках и
объектах при экспорте метрик Prometheus; пути, оканчивающиеся косой
чертой, теперь возвращают количество элементов в соответствующей
коллекции API. Переменная Поддержка методов аутентификации XOAUTH2 и OAUTHBEARER в
почтовом прокси-сервере.
Спасибо Rob Mueller и Максиму Дунину (freenginx). Параметр В модуле ACME автоматически вычисляется приблизительный
размер получаемого сертификата, что устраняет необходимость
увеличивать параметр Информация о лицензии и ограничениях в API-секции
Переменная Вся функциональность nginx 1.29.3, за исключением
директив Команды CLI: Настройка NTP перенесена из контекста settings в режим настройки configuration. Команды time и timezone
перемещены из контекста settings в контекст system. Балансировщик нагрузки: Переменная Если все HTTP-сервера в Параметр Максимальный размер ответа от ACME-сервера теперь
ограничивается директивой acme_max_response_size, а не
параметром Значение по умолчанию директивы variables_hash_max_size
в HTTP-модуле увеличено до Балансировщик нагрузки: Исправлено поведение, при котором не работал возврат на предыдущие группы
резервных проксируемых серверов по тайм-ауту
при заданной директиве Если все сервера в Когда путь в директиве try_files был короче, чем префикс в
соответствующем блоке Если в блоке Если было настроено сохранение индекса кэша в файл,
тестирование конфигурации во время работы могло завершаться ошибками
типа Директива proxy_method игнорировалась при срабатывании
директивы Длительность тайм-аута, задаваемого опцией
Если ACME-клиент был отключен в конфигурации и не имел
ранее полученного сертификата, запрос к API статистики для данного
клиента мог привести к падению рабочего процесса. Если в качестве ключа директивы status_zone, заданной на уровне
блоков При указании доменного имени в директиве docker_endpoint
подключения к Docker API и обновления групп
проксируемых серверов не происходили.Добавления#
/status/http/metric_zones/ API статистики (с поддержкой
Prometheus), тем самым добавляя встроенный мощный аналитический
инструмент для всего HTTP-трафика.alpn в качестве параметра challenge директивы
acme_client; позволяет запрашивать мультидоменные сертификаты,
держа открытым только HTTPS-порт./status/http/acme_clients/ API статистики (с
поддержкой Prometheus).$ssl_encrypted_hello
содержит информацию об использовании ECH.
Спасибо Максиму Дунину (freenginx).$upstream_request_method, содержащая метод
запроса к проксируемому серверу, который может отличаться от метода
запроса клиента при использовании кэширования или директивы
proxy_method; позволяет легко избежать распространенной проблемы в
конфигурациях, когда на GET-запрос возвращается закэшированный пустой
HEAD-ответ, а также избежать кэширования HEAD и GET отдельно.stream-модуле; ранее он был доступен только в HTTP.server с директивой listen 80 в конфигурации; при необходимости
слушающий порт можно изменить с помощью новой директивы
acme_http_port.
Если в директиве acme_http_port указан
только порт без IP (значение по умолчанию) и есть слушающие на этом
порту блоки server, то обработка HTTP-подверждений для
заданного порта в ACME работает только на указанных IP-адресах в
директивах listen данных блоков; попытки слушать на всех остальных IP
не производится; это делает настройку более гибкой и
предотвращает возможную проблему при обновлении с предыдущих версий на
конфигурациях, где были только блоки server, слушающие на
80 порту и конкретных IP-адресах.$sent_body, содержащая тело ответа
подзапроса или запроса от клиентского модуля.route директивы sticky теперь может
содержать произвольные строки с любым количеством переменных.max_cert_size директивы acme_client в
случаях выпуска сертификата с очень большим количеством доменов;
параметр оставлен для случаев, когда ручная настройка всё же
понадобится./status/angie/license.$upstream_cache_key, содержащая используемый
ключ кэширования.
Спасибо Кириллу Коринскому и Максиму Дунину (freenginx).add_header_inherit и add_trailer_inherit, качество
проработки которых крайне низкое.Изменения#
$http_host в запросах по протоколу HTTP/3
теперь инициализируется из значения псевдозаголовка :authority,
если заголовок Host не был передан, что является нормальным для
клиентов; до этого отличия в поведении от протоколов младших версий
могли создавать проблемы в конфигурациях с использованием переменной
$http_host.upstream-группе оказываются
недоступны или возвращают ошибку, то теперь всегда возвращается
собственная страница ошибки вместо принятой от последнего сервера,
когда тот вернул ошибочный статус согласно настройкам директивы
proxy_next_upstream (и ей подобных); это позволяет получить
консистентное поведение во всех случаях.REQUEST_METHOD в файлах конфигурации
fastcgi.conf, fastcgi_params, uwsgi_params и scgi_params
теперь устанавливается через переменную $upstream_request_method,
которая принимает значение GET для HEAD-запросов при настройке
кэширования; это предотвращает проблему, когда ранее в результате
HEAD-запроса могло происходить сохранение пустых ответов, которые
затем отдавались на GET-запросы, так как в типичной конфигурации
метод запроса не является ключом кэширования.max_cert_size= директивы acme_client; заданного по
умолчанию значения достаточно для большинства случаев, но в случае,
если обновление завершается ошибкой [error] too big subrequest
response while sending to client, его следует увеличить.2048, чтобы снизить вероятность появления
предупреждений о неоптимальном построении хэша из-за добавления
множества новых переменных за последние годы: [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.Исправления#
backup_switch permanent=timeout.upstream-группе оказывались
недоступны или возвращали ошибку, то ошибочный ответ последнего мог
посчитаться успешным несмотря на настройки директивы
proxy_next_upstream.location, использование
proxy_pass с URI могло приводить к падению рабочего процесса;
исправление портировано из nginx 1.29.4.stream не было ссылающихся на ACME-клиент
директив acme, то при указании в нём соответствующих переменных
$acme_cert_* конфигурация не принималась с ошибкой
unknown variable.[alert] mmap() failed (17: File exists) и
[alert] munmap() failed (22: Invalid argument).proxy_cache_convert_head on.fail_timeout директивы server блока upstream, была на 1 секунду
больше, чем указано.server, использовались переменные $http_host или
$cookie_*, то HTTP/3-запросы могли не учитываться в указанной
зоне статистики.
История изменений#
Angie ADC 0.6.0#
Дата выпуска: 17.11.25 Добавлен мастер первоначальной настройки IP-адресов для Angie ADC без использования cloud-init. Новые команды CLI: Режим настройки configuration: команды
Контекст diagnostics: команды
Команды Контекст transfer: команда Контекст main: команда ps (отображение процессов, запущенных в системе). Контекст settings: команды
GSLB: Поддержка балансировки с учетом IP-адреса клиента ( Оптимизация конфигурации GSLB:
в файле Пара высокой доступности: Поддержка синхронизации папок Возможность настраивать интервал опроса доступности узлов и таймаут ожидания ответа (см. Настройка протокола опроса доступности узлов). Консоль Angie ADC: Оптимизация графиков для мониторинга балансировщика нагрузки: Добавлены дополнительные интервалы времени мониторинга (от 30 минут до двух недель). Улучшены детализация и отображение графиков. Добавлены сообщения с детализированной информацией об ошибках,
обнаруженных в файле конфигурации балансировщика нагрузки при сохранении. Пара высокой доступности: Исправлено поведение, позволявшее указать для второго узла пары IP-адрес, принадлежащий первому узлу. Консоль Angie ADC: Исправлена ошибка, возникавшая при попытке применить последнюю рабочую версию конфигурации балансировщика,
если единственная рабочая конфигурация (текущая) уже применена. Теперь нельзя пометить как нерабочие текущую и самую первую конфигурации балансировщика нагрузки. При настройке RHI в именах апстримов теперь можно использовать точку. Также добавлено
предупреждение о том, что приоритет должен быть уникальным в рамках одного префикс-листа. СLI: Теперь загрузка сертификатов возможна через CLI на порту 2222
(поддержаны команды Балансировщик нагрузки: Если при использовании опции Если ACME-клиент использовался в блоке Если все директивы acme_client содержали параметр
Если ACME-клиент использовался в блоке Некоторые конфигурации блока Параметр Если использовалась опция Функции#
commit, end, ip, rollback, set, show, system, unset.arping, tcpdump, ss, diag, traceroute, ssldump, nslookup.ping и pingc перемещены в контекст diagnostics.edit.sysctl, time, timezone, ntp, no ntp.clientip).
Теперь можно проверять вхождение IP-адреса клиента в заданную сеть.
Подробнее о методах балансировки можно посмотреть здесь.gslbd.yaml блок servers переименован в members.
Блок содержит серверы и группы серверов, определенные для правила./etc/angie/crt, /etc/angie-lb/crt и /var/transfer.Добавления#
Исправления#
enable и disable контекста cert-config).renew_on_load директивы
acme_client присутствовал ранее полученный сертификат, то он не
загружался, что могло ограничивать работоспособность до окончания
обновления сертификата; если сертификат отсутствовал, то попытки
получения нового завершались ошибкой [alert] lseek() failed (9: Bad
file descriptor).stream, но не в
блоке http, он деактивировался с предупреждением [warn] ACME
client .. is defined but not used и не получал сертификата.enabled=off и соответствующие переменные $acme_cert_*
использовались в конфигурации, то Angie не запускался, сообщая об
ошибке [emerg] unknown acme_cert_* variable.stream, который
располагался перед блоком http, то Angie не запускался, сообщая об
ошибке [emerg] ACME client .. is not defined but referenced.client могли вызывать
падение рабочих процессов при использовании переменных, связанных с
отсутствующим в данном случае входящим соединением.send= директивы upstream_probe в
stream-модуле работал некорректно для UDP-проверок при указании пути
к файлу: вместо содержимого файла отправлялся сам путь.learn директивы sticky, то
после перезагрузки конфигурации параметр timeout= мог не работать
до тех пор, пока не появлялась хотя бы одна новая сессия.
Безопасность#
Обработка специально созданного логина/пароля при использовании метода аутентификации
noneв SMTP-модуле могла приводить к отправке серверу аутентификации части содержимого памяти рабочего процесса (CVE-2025-53859); исправление портировано из nginx 1.29.1.
Angie ADC 0.5.2#
Дата выпуска: 20.10.25 Оптимизирован алгоритм распределения трафика при ECMP-балансировке. Внутренние компоненты Angie ADC обновлены до последних версий.Улучшения#
Исправление уязвимостей#
Angie ADC 0.5.0#
Дата выпуска: 12.09.25 Поддержка ручного запуска синхронизации узлов в паре высокой доступности. Управление пользователями: Добавлен переключатель для отображения или скрытия списка удаленных пользователей консоли.Функции#
Добавления#
Angie ADC 0.4.0#
Дата выпуска: 02.09.25 Образы собраны на базе операционной системы РЕД ОС 8.0.2. Высокая доступность: обеспечение отказоустойчивости с помощью
пары высокой доступности в режиме Active-Standby. Настройка резервного копирования: возможность подключить
внешний s3-совместимый репозиторий для хранения резервной копии балансировщика нагрузки. Поддержка Node Exporter для сбора метрик. GSLB-балансировка методом weighted round-robin. Расширены возможности интерфейса командной строки (CLI). Балансировщик нагрузки: Настройки прокси-модуля в блоке Включение proxy_ignore_client_abort совместно с
модулями, использующими блок Если в группе проксируемых серверов был ранее
сконфигурирован один сервер, то серверы, добавленные через Docker
API, могли не участвовать в балансировке. Если единственный сервер в группе проксируемых серверов
был добавлен посредством Docker API, то в случае признания его
недоступным он мог исключаться из балансировки.Изменения#
Функции#
Добавления#
Исправления#
http могли нарушать
работу модулей, которые используют блок client для исходящих
запросов; проблема появилась в 0.3.4.client для исходящих запросов, могло
приводить к падению рабочих процессов; проблема появилась в 0.3.4.
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).Изменения#
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#
Дата выпуска: 24.06.25 Балансировщик нагрузки: возможность задать в директиве Балансировщик нагрузки: Одновременное наличие в директивах В В Запросы HTTP/3 могли зависать и завершаться по таймауту; исправление
портировано из nginx 1.29.0. Ранняя ошибка при установлении соединения HTTP/3 с проксируемым сервером могла
приводить к падению рабочего процесса. При проксировании по протоколу HTTP/3 число активных соединений
могло отображаться в статистике некорректно. Когда проксируемый сервер в режиме Обновлены базовые пакеты РЕД ОС 7.3. В образ включен пакет open-vm-tools версии 12.4.0.Добавления#
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#
Дата выпуска: 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татистика Функции#
Добавления#
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#
Дата выпуска: 14.04.2025. Исправлена ошибка в конфигурации adc-cli для виртуального устройства (VA) Angie ADC,
приводившая к получению Исправления#
404 при загрузке сертификата.
Angie ADC 0.2.0#
Дата выпуска: 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. Использование доменных имен, начинающихся с точки, в директиве
Исправление уязвимостей.Функции#
Добавления#
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.
Angie ADC 0.1.0#
Дата выпуска: 07.09.2024.
Регистрация в Реестре ПО: номер 24972 от 27.11.2024. Балансировщик нагрузки: Полная функциональность на основе Angie PRO 1.7.0. Дополнительные функции: Балансировка с учетом полосы пропускания до или от проксируемых серверов,
с настраиваемым коэффициентом сглаживания, использующая директиву
Балансировка с учетом полосы пропускания, расчитываемой
по количеству пакетов в единицу времени, до или от проксируемых stream-серверов,
использующая директиву Модуль GSLB. Веб-консоль Angie ADC: просмотр статистики балансировщика нагрузки; управление пользователями.Функции#
least_bandwidth в блоках upstream и http.least_packets в блоке upstream.