История версий Angie#

2024#

Angie 1.6.0#

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

Добавления#

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

  • Извлечение значений Cookie из RDP-соединений с помощью директивы rdp_preread stream-модуля в переменные $rdp_cookie и $rdp_cookie_NAME, что позволяет логгировать и привязывать RDP-сеансы клиентов к одним и тем же серверам при балансировке нагрузки.

  • Возможность указать несколько директив acme в одном блоке server, что позволяет настраивать получение сертификатов сразу двух типов в рамках данного виртуального сервера.

  • Ключи командной строки -m и -M для отображения списка встроенных и загруженных модулей.

  • Поддержка BoringSSL в модуле ACME.

  • Вся функциональность nginx 1.27.0, включая поддержку виртуальных серверов в модуле stream и директиву pass, позволяющую передавать принятые соединения на обработку в другие слушающие сокеты, в том числе модулей HTTP и Mail.

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

  • Запрос сертификата по протоколу ACME мог завершаться ошибкой в некоторых конфигурациях с сообщением в логе вида [alert] getsockname() failed (9: Bad file descriptor).

  • Запрос сертификата с большим количеством доменных имен по протоколу ACME мог завершаться ошибкой с сообщением в логе вида [error] JSON parser error.

  • ACME-клиенты в конфигурациях с несколькими директивами error_log могли выводить сообщения в несоответствующие логи.

Пакеты#


Angie 1.5.2#

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

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

  • При использовании HTTP/3 обработка специально созданной QUIC-сессии могла приводить к падению рабочего процесса, отправке клиенту содержимого памяти рабочего процесса на системах с MTU больше 4096 байт и иметь другие последствия (CVE-2024-32760, CVE-2024-31079, CVE-2024-35200, CVE-2024-34161); исправление портировано из nginx 1.26.1.

Пакеты#


Angie 1.5.1#

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

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

  • Механизм proxy_next_upstream работал некорректно при использовании опции resolve директивы server в блоке upstream, если количество полученных IP-адресов отличалось от числа заданных серверов.

  • При запросе сертификата по протоколу ACME могла произойти ошибка сегментации в рабочем процессе.

  • Механизм slow_start не срабатывал при проксировании TCP-соединений в модуле stream.

  • Запросы HTTP/3 могли завершаться с ошибкой, если они были присланы как TLS 1.3 early data; проблема появилась в 1.4.0.

  • HTTP/3-соединение могло закрываться преждевременно при использовании 0-RTT в QUIC.

  • При чтении тела запроса из быстрого соединения было возможно чтение в течение долгого времени. Спасибо Максиму Дунину (freenginx).

Изменения#

  • Теперь ACME-клиенты не игнорируют ранее сохраненные сертификаты, если они просрочены или выпущены для отличающегося списка доменных имен, а используют их, пока идет обновление.

Пакеты#

27.05.2024

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


Angie 1.5.0#

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

Добавления#

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

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

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

  • Новый статус recovering у проксируемых серверов в API статистики, означающий, что сервер медленно восстанавливается после сбоя согласно опции slow_start.

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

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

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

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

Пакеты#

28.03.2024

16.04.2024

25.04.2024


Angie 1.4.1#

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

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

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

Пакеты#

2023#

Angie 1.4.0#

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

Добавления#

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

  • Механизм плавного ввода проксируемого сервера в работу после сбоя с помощью опции 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.

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

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

Пакеты#

18.12.2023

25.12.2023

22.01.2024


Angie 1.3.2#

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

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

  • Были возможны некорректные значения метрик в формате 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


Angie 1.3.1#

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

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

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

Пакеты#

26.10.2023

13.11.2023


Angie 1.3.0#

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

Добавления#

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

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

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

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

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

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

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

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

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

  • Сборка завершалась ошибкой при использовании опций ./configure --without-http_upstream_zone_module или --without-stream_upstream_zone_module; ошибка появилась в 1.2.0.

Изменения#

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

Пакеты#


Angie 1.2.0#

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

Добавления#

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

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

  • Поддержка 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.

Пакеты#

13.06.2023

12.07.2023

28.07.2023

18.08.2023


Angie 1.1.0#

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

Добавления#

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

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

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

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

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

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

  • Сборка завершалась ошибкой из-за ложного предупреждения компилятора при использовании GCC 9 и старее с оптимизацией -O2 и выше.

Пакеты#

15.03.2023

07.04.2023

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

11.05.2023

26.05.2023

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


2022#

Angie 1.0.0#

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

Добавления#

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

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

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

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

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

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