2024#

Angie PRO 1.5.0#

Дата выпуска: 27.03.2024.

Добавления#

  • Начальная поддержка автоматического получения и обновления сертификатов по протоколу ACME, конфигурируемая с помощью директив acme_client и acme, а также переменных вида $acme_cert_* и $acme_cert_key_*.

  • режим drain, переводящий проксируемый HTTP-сервер в новое состояние draining, при котором на сервер направляются только запросы, привязанные с помощью модуля sticky.

  • Настройка автоматического перенаправления для добавления слеша в конец URI запроса с помощью директивы auto_redirect.

  • Вывод содержащих даты метрик в формате временных меток Unix вместо ISO 8601 для использования в Prometheus, а также в JSON API при запросе с аргументом ?date=epoch.

  • Теперь ключ -V показывает также релевантную версию nginx, что полезно для совместимости со сторонними утилитами, в частности certbot. Спасибо AdvTechnoKing.

  • Вся функциональность nginx 1.25.4.

  • Пакеты для операционных систем FreeBSD 13 (arm64), RED OS 8 (x86-64).

  • Добавлены пакеты динамических модулей:

Исправления#

  • Если был задействован механизм переиспользования SSL-сессий (proxy_ssl_session_reuse), то при динамическом обновлении списка проксируемых серверов могла происходить утечка из зоны разделяемой памяти (zone), настроенной для соответствующего блока upstream.

Изменения#

Обновления#

16.04.2024


Angie PRO 1.4.1#

Дата выпуска: 15.02.2024.

Безопасность#

  • При использовании HTTP/3 в рабочем процессе во время обработки специально созданной QUIC-сессии могла произойти ошибка сегментации (CVE-2024-24989); при этом Angie PRO, начиная еще с версии 1.4.0, не подвержен уязвимости CVE-2024-24990.

Изменения#

2023#

Angie PRO 1.4.0#

Дата выпуска: 21.12.2023.

Добавления#

  • Поддержка HTTP/3-соединений с upstream-серверами в прокси-модуле HTTP, допускающая использование клиентами произвольных версий HTTP. Конфигурация осуществляется с помощью директивы proxy_http_version и набора директив proxy_quic_ и proxy_http3_.

  • Директива upstream_probe для активной проверки состояния серверов в блоке upstream stream-модуля путём периодического создания тестовых соединений или отправки датаграмм.

  • Дополнительный режим работы learn директивы sticky для привязки сессий к проксируемым серверам, позволяющий обнаруживать сессии и запоминать их в разделяемой памяти сервера.

  • Очередь ожидания для запросов, для которых не удалось выбрать проксируемый сервер с первой попытки, настраиваемая с помощью директивы queue в блоке upstream HTTP-модуля.

  • HTTP RESTful JSON-интерфейс для изменения конфигурации, добавления и удаления проксируемых серверов в блоках upstream stream-модуля, а также директива state для долговременного сохранения этих изменений.

  • Балансировка с учётом среднего времени установки соединения, получения первого или последнего байта ответа от проксируемых stream-серверов с настраиваемым коэффициентом сглаживания, использующая директивы least_time и response_time_factor в блоке upstream.

  • Статистика по среднему времени установки соединения, получения первого и последнего байта ответа от проксируемых stream-серверов в интерфейсе, предоставляемом директивой api, с возможностью настройки коэффициента сглаживания директивой response_time_factor блока upstream.

  • Механизм плавного ввода проксируемого сервера в работу после сбоя с помощью опции slow_start директивы server в блоке upstream.

  • Директива mqtt_preread модуля stream, позволяющая помещать имя пользователя и идентификатор клиента из пакета CONNECT протокола MQTT в переменные $mqtt_preread_username и $mqtt_preread_clientid.

  • Ограничение скорости отдачи MP4-файлов клиенту пропорционально битрейту с помощью директив mp4_limit_rate и mp4_limit_rate_after, снижающее нагрузку на полосу пропускания.

  • Вся функциональность nginx 1.25.3.

  • Пакеты для операционной системы Alpine 3.19.

Исправления#

  • Если проксируемый сервер был единственным в группе, то он мог некорректно учитываться как unavailable в API статистики даже после восстановления работоспособности.

Изменения#

  • Теперь время, в течение которого проксируемый сервер находился в состоянии checking, не учитывается в downtime.

  • В стандартный шаблон prometheus_all.conf добавлены все дополнительные метрики Prometheus и возможные значения state у серверов upstream, присутствующие только в версии PRO.

  • Обновлены пакеты:

Обновления#

22.01.2024


Angie PRO 1.3.2#

Дата выпуска: 23.11.2023.

Исправления#

  • Активные проверки с флагом essential при обнаружении изначальной проблемы некорректно обрабатывали смену состояния проксируемого сервера с checking на unhealthy, из-за чего пользовательские запросы могли направляться на неработоспособный сервер.

  • Были возможны некорректные значения метрик в формате Prometheus, в значениях которых использовались отличные от $p8s_value переменные; на практике проблема могла наблюдаться с angie_http_upstreams_peers_state и angie_stream_upstreams_peers_state из стандартного шаблона prometheus_all.conf.

  • Некоторые попытки соединения с проксируемыми серверами могли не учитываться соответствующим образом в API статистики, если ошибка происходила моментально; проблема появилась в 1.3.0.

Обновления#

04.12.2023

07.12.2023

12.12.2023


Angie PRO 1.3.1#

Дата выпуска: 18.10.2023.

Безопасность#

  • Добавлены дополнительные ограничения при обработке потоков HTTP/2, чтобы лучше противостоять DoS-атаке «HTTP/2 Rapid Reset» (CVE-2023-44487).

Обновления#

26.10.2023

13.11.2023


Angie PRO 1.3.0#

Дата выпуска: 03.10.2023.

Добавления#

  • Возможность указывать в директиве location несколько строк для сопоставления, что позволяет объединить несколько блоков location с одинаковыми настройками и, таким образом, упростить конфигурацию за счет уменьшения дублирования.

  • Балансировка с учетом среднего времени получения заголовка ответа или полного ответа от проксируемых HTTP-серверов с настраиваемым коэффициентом сглаживания, использующая директивы least_time и response_time_factor в блоке upstream.

  • Экспорт различных метрик статистики в формате Prometheus с гибко настраиваемыми шаблонами при помощи новых директив prometheus и prometheus_template.

  • Статистика по среднему времени получения заголовка ответа и полного ответа от проксируемых HTTP-серверов в интерфейсе, предоставляемом директивой api, с возможностью настройки коэффициента сглаживания директивой response_time_factor блока upstream.

  • Детальная информация и метрики по группам проксируемых stream-серверов в интерфейсе статистики, предоставляемом директивой api.

  • Опция resolve директивы server в блоке upstream модуля stream, позволяющая отслеживать изменения списка IP-адресов, соответствующего доменному имени, и автоматически обновлять его без перезагрузки конфигурации.

  • Опция service директивы server в блоке upstream модуля stream, позволяющая получать списки адресов из DNS-записей SRV, с базовой поддержкой приоритета.

  • Возможность привязки клиентских соединений к соединению с проксируемым сервером с помощью директивы bind_conn в блоках upstream HTTP-модуля, позволяющая, в частности, успешно проксировать соединения с проверкой подлинности NT LAN Manager (NTLM).

  • Получение содержимого конфигурационных файлов, с которыми было запущено текущее поколение рабочих процессов, в интерфейсе, предоставляемом директивой api при включении директивы api_config_files.

  • Отображение номера поколения конфигурации в именах процессов, что позволяет с помощью утилиты ps отслеживать успех перезагрузок конфигурации и количество поколений рабочих процессов с предыдущими версиями конфигурации.

  • Вся функциональность nginx 1.25.2.

Изменения#

  • Теперь при загрузке конфигурации OpenSSL используется appname angie.

  • Обновлены пакеты:


Angie PRO 1.2.0#

Дата выпуска: 15.08.2023.

Добавления#

  • HTTP RESTful JSON интерфейс для изменения конфигурации, добавления и удаления проксируемых серверов в блоках upstream HTTP-модуля, а также директива state для долговременного сохранения этих изменений.

  • Директива upstream_probe для активной проверки состояния серверов в блоке upstream HTTP-модуля путем отправки периодических тестовых запросов.

  • Поддержка сегментирования кэша в модуле HTTP proxy, которая позволяет в зависимости от произвольного параметра ответа кэшировать его на разных директориях (дисках), задаваемых дополнительным параметром path= директивы proxy_cache с использованием переменных.

  • Поддержка NTLS в HTTP и stream модулях при использовании TLS библиотеки TongSuo, включаемая опцией сборки ‑‑with‑ntls и настраиваемая с помощью соответствующих директив ssl_ntls и proxy_ssl_ntls.

  • В HTTP и stream прокси-модулях теперь можно настраивать несколько сертификатов разного типа (RSA и ECDSA) и соответствующих им ключей, используя директивы proxy_ssl_certificate и proxy_ssl_certificate_key.

  • Вывод версии и сборки в отображаемом имени master процесса, что позволяет с помощью утилиты ps получить эту информацию о работающем экземпляре сервера.

  • Возможность сжатия модулем gzip ответов со статусом «207 Multi-Status». Спасибо DBotThePony.

  • Вся функциональность nginx 1.25.0, включая поддержку HTTP/3.

  • Добавлены пакеты динамических модулей:

Изменения#


Angie PRO 1.1.0-p1#

Дата выпуска: 01.03.2023.

Добавления#

  • Директива sticky и сопутствующие настройки в блоке upstream HTTP-модуля, позволяющие задать режим привязки сессий, при котором все запросы в рамках сессии будут направляться на один и тот же сервер.

  • Переменная $upstream_sticky_status, принимающая значения new, hit или miss в зависимости от успеха направления запроса на релевантный проксируемый сервер с включенной привязкой сессий.


Angie PRO 1.1.0#

Дата выпуска: 07.02.2023.

Добавления#

  • Директива api, реализующая HTTP RESTful интерфейс для получения в форматах JSON или Prometheus базовой информации о веб-сервере, а также статистики по клиентским соединениям, зонам разделяемой памяти, DNS-запросам, HTTP-запросам, кэшу HTTP-ответов, сессиям модуля stream, зонам модулей limit_conn/limit_req и группам проксируемых HTTP-серверов.

  • Опция resolve директивы server в блоке upstream HTTP-модуля, позволяющая отслеживать изменения списка IP-адресов, соответствующего доменному имени, и автоматически обновлять его без перезагрузки конфигурации.

  • Опция service директивы server в блоке upstream HTTP-модуля, позволяющая получать списки адресов из DNS SRV записей, с базовой поддержкой приоритета.

  • Директива status_zone в модуле HTTP для указания зоны сбора статистики по запросам в server и location контекстах.

  • Директива status_zone в модуле stream для указания зоны сбора статистики по TCP/UDP сессиям.

  • Параметр status_zone директивы resolver для указания зоны сбора статистики по DNS-запросам.

  • autoindex выводит листинги директорий в естественном порядке.

  • Произвольная настройка подписи на стандартных страницах ошибок и поля Server в заголовке ответа с помощью директивы server_tokens.

  • Переменная $angie_version, содержащая версию Angie.

  • Вся функциональность nginx 1.23.3.

Обновления#

07.04.2023

  • Пакеты для операционной системы ALT Linux.

12.05.2023

26.05.2023

  • Пакеты для операционной системы Astra Linux Special Edition.

13.06.2023

12.07.2023

31.07.2023