История версий Angie#
2025#
Angie 1.11.1#
Дата выпуска: 30.12.2025. Теперь, если в директиве acme_http_port указан
только порт без IP (значение по умолчанию) и есть слушающие на этом
порту блоки HTTP/2-запросы не учитывались в серверных зонах
статистики; проблема появилась в 1.11.0. Если ACME-клиент был отключен в конфигурации и не имел
ранее полученного сертификата, запрос к API статистики для данного
клиента мог привести к падению рабочего процесса. Если в качестве ключа директивы status_zone, заданной на уровне
блоков Обновлены: angie-module-vts — до версии v0.2.5Изменения#
server, то обработка HTTP-подверждений для
заданного порта в ACME работает только на указанных IP-адресах в
директивах listen данных блоков; попытки слушать на всех остальных IP,
как было раньше, не производится; это делает настройку более гибкой и
предотвращает возможную проблему при обновлении с предыдущих версий на
конфигурациях, где были только блоки server, слушающие на
80 порту и конкретных IP-адресах.Исправления#
server, использовались переменные $http_host или
$cookie_*, то HTTP/3-запросы могли не учитываться в указанной
зоне статистики.Пакеты#
Angie 1.11.0#
Дата выпуска: 24.12.2025. Переменная Если все HTTP-сервера в Параметр Максимальный размер ответа от ACME-сервера теперь
ограничивается директивой acme_max_response_size, а не
параметром Значение по умолчанию директивы variables_hash_max_size
в HTTP-модуле увеличено до Произвольно конфигурируемый сбор статистики с помощью
нового модуля Metric в HTTP; позволяет, используя различные методы
(счетчики, гистограммы, скользящие средние и др.), агрегировать любые
данные на разных стадиях обработки запроса в реальном времени с
помощью переменных по заданным ключам и отдавать их в секции
Поддержка ALPN-верификации для ACME, задаваемая при
помощи значения Информация об ACME-клиентах и процедуре получения
сертификата в разделе Добавлена поддержка Encrypted Client Hello (ECH) в HTTP и
stream SSL-модулях; директива ssl_encrypted_hello_key позволяет
задать файл с приватным ключом; переменная Конвертация формата изображения с помощью параметра
Поддержка форматов AVIF и HEIC в модуле Image Filter. Поддержка PROXY-протокола второй версии в stream-модуле в
сторону проксируемых серверов с возможностью передачи произвольных
значений через TLV-записи с помощью директивы
proxy_protocol_tlv, в которой можно указывать строки с переменными. Переменная Теперь HTTP-верификация в ACME может работать без блоков
Возможность подсчета количества элементов в списках и
объектах при экспорте метрик Prometheus; пути, оканчивающиеся косой
чертой, теперь возвращают количество элементов в соответствующей
коллекции API. Переменная Поддержка методов аутентификации XOAUTH2 и OAUTHBEARER в
почтовом прокси-сервере.
Спасибо Rob Mueller и Максиму Дунину (freenginx). Параметр В модуле ACME автоматически вычисляется приблизительный
размер получаемого сертификата, что устраняет необходимость
увеличивать параметр Переменная Поддержка сборки с SSL-библиотекой AWS-LC.
Спасибо Петру Сикоре (piotr at aviatrix.com). В Makefile добавлена цель Вся функциональность nginx 1.29.3, за исключением
директив Процедуры перезагрузки конфигурации и обновления
исполняемого файла на лету теперь работают штатно с
HTTP/3-соединениями; реализован корректный роутинг соединений ко всем
существующим процессам при помощи модуля BPF. Если все сервера в Когда путь в директиве try_files был короче, чем префикс в
соответствующем блоке Если в блоке Если было настроено сохранение индекса кэша в файл,
тестирование конфигурации во время работы могло завершаться ошибками
типа Директива proxy_method игнорировалась при срабатывании
директивы Длительность тайм-аута, задаваемого опцией
Angie не собирался на Загрузка модулей, собранных для Angie PRO, могла
приводить к некорректной работе и падениям из-за несовместимости ABI;
теперь подобные ошибочные конфигурации запрещены, и выдается
соответствующее сообщение об ошибке. Обновлены: angie-module-echo — до версии v0.64Изменения#
$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.Добавления#
/status/http/metric_zones/ API статистики (с поддержкой
Prometheus), тем самым добавляя встроенный мощный аналитический
инструмент для всего HTTP-трафика.alpn в качестве параметра challenge директивы
acme_client; позволяет запрашивать мультидоменные сертификаты,
держа открытым только HTTPS-порт./status/http/acme_clients/ API статистики (с
поддержкой Prometheus).$ssl_encrypted_hello
содержит информацию об использовании ECH.
Спасибо Максиму Дунину (freenginx).convert директивы image_filter.$upstream_request_method, содержащая метод
запроса к проксируемому серверу, который может отличаться от метода
запроса клиента при использовании кэширования или директивы
proxy_method; позволяет легко избежать распространенной проблемы в
конфигурациях, когда на GET-запрос возвращается закэшированный пустой
HEAD-ответ, а также избежать кэширования HEAD и GET отдельно.server с директивой listen 80 в конфигурации; при необходимости
слушающий порт можно изменить с помощью новой директивы
acme_http_port.$sent_body, содержащая тело ответа
подзапроса или запроса от клиентского модуля.route директивы sticky теперь может
содержать произвольные строки с любым количеством переменных.max_cert_size директивы acme_client в
случаях выпуска сертификата с очень большим количеством доменов;
параметр оставлен для случаев, когда ручная настройка всё же
понадобится.$upstream_cache_key, содержащая используемый
ключ кэширования.
Спасибо Кириллу Коринскому и Максиму Дунину (freenginx).test, запускающая тесты.add_header_inherit и add_trailer_inherit, качество
проработки которых крайне низкое.Исправления#
upstream-группе оказывались
недоступны или возвращали ошибку, то ошибочный ответ последнего мог
посчитаться успешным несмотря на настройки директивы
proxy_next_upstream.location, использование
proxy_pass с URI могло приводить к падению рабочего процесса;
исправление портировано из nginx 1.29.4.stream не было ссылающихся на ACME-клиент
директив acme, то при указании в нём соответствующих переменных
$acme_cert_* конфигурация не принималась с ошибкой
unknown variable; проблема появилась в 1.10.3.[alert] mmap() failed (17: File exists) и
[alert] munmap() failed (22: Invalid argument).proxy_cache_convert_head on.fail_timeout директивы server блока upstream, была на 1 секунду
больше, чем указано.NetBSD 10.0.
Спасибо Максиму Дунину (freenginx).Пакеты#
Angie 1.10.3#
Дата выпуска: 13.11.2025. Обработка специально созданного логина/пароля при
использовании метода аутентификации Если при использовании опции Если ACME-клиент использовался в блоке Если все директивы acme_client содержали параметр
Если ACME-клиент использовался в блоке Некоторые конфигурации блока Обновлены: angie-module-cache-purge — до версии 2.5.4 angie-module-cgi — до версии v0.14.1 angie-module-lua — до версии 0.10.29 angie-module-njs — до версии 0.9.4Безопасность#
none в SMTP-модуле могла
приводить к отправке серверу аутентификации части содержимого памяти
рабочего процесса (CVE-2025-53859); исправление портировано из nginx
1.29.1.Исправления#
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 могли вызывать
падение рабочих процессов при использовании переменных, связанных с
отсутствующим в данном случае входящим соединением.Пакеты#
Angie 1.10.2#
Дата выпуска: 21.08.2025. Настройки прокси-модуля в блоке Включение proxy_ignore_client_abort совместно с
модулями, использующими блок Если в группе проксируемых серверов был ранее
сконфигурирован один сервер, то серверы, добавленные через Docker
API, могли не участвовать в балансировке. Если единственный сервер в группе проксируемых серверов
был добавлен посредством Docker API,
то в случае признания его недоступным он мог исключаться из балансировки. Добавлены динамические модули: Обновлены: angie-module-opentracing — до версии 0.41.0Исправления#
http могли нарушать
работу модулей, которые используют блок client для исходящих
запросов; проблема появилась в 1.10.0.client для исходящих запросов, могло
приводить к падению рабочих процессов; проблема появилась в 1.10.0.Пакеты#
Angie 1.10.1#
Дата выпуска: 17.07.2025. Директивы, заданные на уровне блока Поддержка нескольких блоков Параметр HTTP/3-согласование с проксируемым сервером могло завершаться ошибкой при
использовании библиотеки OpenSSL версии 3.5.0 или выше, если на сервере был
активен режим Сборка модулей Сборка компилятором GCC с флагом Изменения#
client, теперь могут наследоваться
только в явно объявленных внутри него блоках location и не оказывают
влияния на настройки других модулей, неявно использующих блок client
для исходящих запросов.Добавления#
client позволяет сгруппировать общие
настройки для разных блоков location внутри каждого из них, что
помогает избежать дублирования конфигурации.Исправления#
reuseport в директиве listen приводил к тому, что все
соединения на указанный адрес и порт обслуживались только одним рабочим
процессом; проблема появилась в версии 1.10.0.retry QUIC-протокола.HTTP/2 и HTTP/3 компилятором GCC 15 завершалась
ошибкой.-O3 могла завершаться ошибкой.
Angie 1.10.0#
Дата выпуска: 03.07.2025. Автоматическое получение и динамическое обновление групп проксируемых серверов
на основе меток Docker-контейнеров (или Podman), настраиваемое с помощью
директивы docker_endpoint; это позволяет на указанном Docker API в
реальном времени отслеживать запуск и остановку контейнеров и, соответственно,
добавлять или удалять их адреса из списка Поддержка автоматического получения TLS-сертификатов по протоколу ACME в
Поддержка приема соединений по протоколу MPTCP, включаемая с помощью опции
Блок client, позволяющий задавать дополнительную конфигурацию для
внутренних HTTP-запросов, исходящих от различных модулей. Вся функциональность nginx 1.27.5,
включая контроль перегрузки CUBIC в соединениях QUIC. Обновлены: angie-console-light — до версии 1.8.0 angie-module-cgi — до версии 0.13 angie-module-otel — до версии 0.1.2 14.07.2025 Обновлены: angie-module-headers-more — до версии v0.39 angie-module-njs,
angie-module-njs-light — до версии 0.9.1Добавления#
upstream согласно прописанным
в них специальным меткам и без перезагрузки конфигурации.stream-модуле, настраиваемое с использованием директивы acme
и переменных вида $acme_cert_* и
$acme_cert_key_*.multipath директивы listen.
Спасибо Максиму Дунину (freenginx), Максиму Дурову и Энтони Дорену.Пакеты#
Angie 1.9.1#
Дата выпуска: 29.05.2025. Возможность задать в директиве acme_dns_port не только номер порта, но
и IP-адрес; поддерживаются IPv4 и IPv6. Одновременное наличие в директивах server_name wildcard-домена и
совпадающих с ним доменов третьего уровня приводило к ошибке ACME-сервера при
выпуске сертификата для этих доменов в рамках одного ACME-клиента. В Запросы HTTP/3 могли зависать и завершаться по таймауту; исправление
портировано из nginx 1.29.0. Ранняя ошибка при установлении соединения HTTP/3 с проксируемым сервером могла
приводить к падению рабочего процесса. При проксировании по протоколу HTTP/3 число активных соединений
могло отображаться в статистике некорректно. Добавлены динамические модули: Обновлены: angie-module-auth-spnego — до версии 1.1.3 angie-module-cgi — до версии 0.12.1 angie-module-modsecurity — до версии 1.0.4 angie-module-njs — до версии 0.9.0 angie-module-opentracing — до версии 0.40.0Добавления#
Исправления#
stream-модуле после успешного соединения с проксируемым сервером во
время пассивной проверки его статус в API статистики ошибочно продолжал
отображаться как unavailable до завершения сессии.Пакеты#
Angie 1.9.0#
Дата выпуска: 11.04.2025. Возможность задать файл в директиве proxy_cache_path, в который между
запусками сервера будет сохраняться содержимое зоны разделяемой памяти с
индексом кэша; что избавляет от необходимости подгружать кэш после
перезагрузки и позволяет практически сразу вернуть сервер в работу. Поддержка механизма TLS 1.3 Early Data (0-RTT) в Новый статус Параметр Параметр Отображение даты и времени сборки в поле Вся функциональность nginx 1.27.4, за
исключением директивы Параметр Ошибка При сборке с поддержкой NTLS наследование директив
Обновлены: angie-module-cgi — до версии 0.11.1 angie-module-njs — до версии 0.8.10Добавления#
stream-модуле с
помощью директивы ssl_early_data.busy у проксируемых серверов в API статистики, означающий,
что число запросов на сервер достигло ограничения, заданного опцией
max_conns.uri= в директиве acme_hook, который позволяет
переопределять строку запроса к внешнему приложению, в том числе, используя
переменные.renew_on_load директивы acme_client, позволяющий
форсировать обновление сертификата при загрузке конфигурации.build_time объекта
/status/angie API статистики, а также в выводе ключа командной строки
-V.keepalive_min_timeout (аналогичный функционал
существует с версии 1.8.0).Изменения#
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 с
переменными работало некорректно.Пакеты#
Angie 1.8.3#
Дата выпуска: 02.04.2025. Статистика status_zone в блоке server HTTP-модуля могла
считаться некорректно, если запросы попадали в разные зоны статистики в рамках
одного соединения или на раннем этапе обработки запроса происходила ошибка;
проблема появилась в 1.8.2. Обновлены: angie-console-light — до версии 1.7.0 angie-module-cgi — до версии 57f660bb2c6ef6e4b75c65406080d0236860ca08 angie-module-jwt — до версии v3.4.3 angie-module-ndk — до версии v0.3.4 angie-module-opentracing — до версии v0.39.0 angie-module-vts — до версии v0.2.4 04.04.2025 Обновлены: angie-console-light — до версии 1.7.1 07.04.2025 Обновлены: angie-console-light — до версии 1.7.2Исправления#
Пакеты#
Angie 1.8.2#
Дата выпуска: 13.02.2025. Недостаточная проверка в обработке виртуальных серверов при использовании SNI
в TLSv1.3 позволяла повторно использовать SSL-сессию в контексте другого
виртуального сервера, обходя проверку клиентских SSL-сертификатов
(CVE-2025-23419);
исправление портировано из nginx 1.27.4. Запросы к API для получения значений статистики из отдельной зоны, которая
была задана через переменные, могли приводить к зацикливанию рабочего
процесса. HTTP/3-запросы не учитывались в зонах статистики; проблема появилась в 1.8.0. TLS-согласования по протоколу QUIC не учитывались в статистике по SSL. Использование доменных имен, начинающихся с точки, в директиве
server_name, могло привести к ошибке обновления сертификата по
протоколу ACME. Добавлены динамические модули:Безопасность#
Исправления#
Пакеты#
2024#
Angie 1.8.1#
Дата выпуска: 28.12.2024. Использование директивы status_zone в блоке Ошибки декодирования потока HTTP/3 могли приводить к падению рабочего процесса
при закрытии QUIC-соединения; исправление портировано из nginx 1.27.4. Отправка пакетов с согласованием версии протокола QUIC могла привести к
бесконечному циклу обмена пакетами; исправление портировано из nginx 1.27.4. Использование DNS-валидации без хуков в ACME-модуле на
некоторых конфигурациях могло привести к падению рабочего процесса. Обновлены: angie-module-auth-jwt — до версии 0.9.0 23.01.2025 Обновлены: angie-console-light — до версии 1.6.0 27.01.2025 Добавлены динамические модули: Обновлены: angie-console-light — до версии 1.6.1 angie-module-auth-spnego — до версии v1.1.2 angie-module-headers-more — до версии v0.38 angie-module-lua — до версии 0.10.28 angie-module-njs — до версии 0.8.9 angie-module-vts — до версии v0.2.3 angie-module-wasm — до версии v0.2-beta2Исправления#
server HTTP-модуля
приводило к избыточному логированию пустых запросов в access_log во
время TLS-согласований; проблема появилась в 1.8.0.Пакеты#
Angie 1.8.0#
Дата выпуска: 19.12.2024. Поддержка валидации Система внешних вызовов в модуле ACME, настраиваемая с помощью директивы
acme_hook, которая позволяет обеспечить валидацию доменных имен
посредством внешнего обработчика для интеграции с различными сервисами и
провайдерами DNS-хостинга. ACME-модуль выводит в лог дополнительную информацию: точная причина обновления
сертификата, полный список доменов, идентификатор аккаунта пользователя,
длительные периоды неактивности (например, во время опросов), какой домен
выполняет валидацию. Такая информация позволяет легче диагностировать проблемы
на этапе перевыпуска сертификатов, а также прописывать DNS-запись CAA. Параметр Поддержка переменных в директиве status_zone в модулях HTTP и stream
позволяет динамически распределять статистику по нескольким зонам в рамках
одного блока Совместимость HTTP-модуля сжатия GZip с версиями библиотеки Директива max_headers, ограничивающая максимальное количество полей
заголовка в HTTP-запросе для лучшей защиты от DoS-атак. Спасибо Максиму Дунину
(freenginx) и Максиму Евменкину. Директивы http3_max_table_capacity и
proxy_http3_max_table_capacity для настройки ограничения на размер
динамической таблицы сжатия заголовка в HTTP/3. Поддержка кросс-компиляции — система сборки теперь может использовать
скрипт-обертку для запуска автотестов, что позволяет подготовить сборку без
запуска тестовых программ непосредственно на целевой платформе. Вся функциональность nginx 1.27.3. HTTP/3-клиенты могли отключаться по таймауту при использовании Проксирование по HTTP/3 с использованием переменных в директиве
proxy_pass и без указания блока Кэширование HTTP/3-ответов при использовании динамической таблицы сжатия
заголовка могло привести к падению рабочего процесса. Некоторые SSL-рукопожатия могли не учитываться в счетчиках статистики для
stream-модуля. Настройки HTTP/3-проксирования, указанные на уровне При проксировании по протоколу HTTP/3 с включенной поддержкой NTLS директива
proxy_ssl_certificate не работала. При плавном завершении старых рабочих процессов keepalive-соединения теперь
закрываются только после истечения таймаута, заданного директивой
lingering_timeout. Такое поведение позволяет предотвратить возможные
ошибки на клиенте при получении ответа в этот момент. Спасибо Максиму Дунину
(freenginx). Отключено кэширование значений переменных stream-модуля
$ssl_server_name, $ssl_server_cert_type,
$ssl_preread_protocol и $ssl_preread_server_name, что
позволит получить актуальные значения при использовании виртуальных серверов. Добавлены динамические модули: Обновлены: angie-module-auth-jwt — до версии 0.8.0 angie-module-jwt — до версии 3.4.2 angie-module-njs — до версии 0.8.8 angie-module-opentracing — до версии 0.38.0 angie-module-wasm — до версии 0.1-beta5Добавления#
DNS-01 посредством ответа на DNS-запрос от
ACME-сервера, что позволяет автоматически запрашивать сертификаты любых типов,
в том числе wildcard.account_key в директиве acme_client, позволяющий
переиспользовать существующий ключ аккаунта ACME-сервера, а не генерировать
новый автоматически.location или server. Это, в частности, пригодится
для случая, когда один блок server обрабатывает несколько виртуальных
хостов.zlib-ng
2.2.0 и выше, которые ранее могли приводить к появлению в логе ошибок вида
[alert] gzip filter failed to use preallocated memory.Исправления#
0-RTT.
Проблема была унаследована из nginx в версии 1.7.0.upstream могло приводить к
падению рабочего процесса.http или
server, могли игнорироваться.Изменения#
Пакеты#
Angie 1.7.0#
Дата выпуска: 19.09.2024. Принудительное закрытие соединений к проксируемому серверу при удалении его из
группы, настраиваемое с помощью директив proxy_connection_drop,
grpc_connection_drop, fastcgi_connection_drop,
scgi_connection_drop и uwsgi_connection_drop. Счетчики отдельных типов отправленных DNS-запросов в API
статистики резолвера, собираемой параметром Переменная $ssl_server_cert_type, содержащая тип выбранного
сертификата при приеме TLS-соединения. Отключение создания PID-файла с помощью параметра Создание PID-файла теперь выполняется атомарно через
промежуточный временный файл, что исключает момент, когда файл уже
появился в директории, но еще пуст, и позволяет внешним программам
проще и надежнее с ним работать. Теперь при переконфигурации не делается попытка пересоздать PID-файл, если имя
в директиве pid изменилось, но указывает на тот же файл через симлинки,
что, в частности, позволяет избежать проблем в системах во время миграции с
Ошибки записи в syslog теперь логгируются не чаще
одного раза в секунду, что помогает предотвратить засорение логов подобными
сообщениями в случаях перегрузки или сбоя syslog-сервера. Спасибо Максиму
Дунину (freenginx). В почтовом прокси-сервере ограничено максимальное количество команд в процессе
аутентификации, задаваемое директивой max_commands, для улучшения
защиты против DoS-атак. Спасибо Максиму Дунину (freenginx). Опция --feature-cache скрипта ./configure для
кэширования результатов его работы с целью оптимизации массовой сборки модулей
или кросс-компиляции. Вся функциональность nginx 1.27.1. При запуске под systemd могли возникать ошибки Обновлены текстовые описания кодов HTTP-ответов в соответствии с RFC 9110.
Спасибо Максиму Дунину (freenginx) и Michiel W. Beijen. Теперь перед HTTP-запросом допускается не более одной пустой строки для
улучшения защиты против DoS-атак. Спасибо Максиму Дунину (freenginx). Запрещены имена полей заголовка HTTP/1.x без двоеточия на конце; такие
некорректные заголовки от клиента или проксируемого сервера теперь будут
приводить к возврату ошибки. Спасибо Максиму Дунину (freenginx) и Максиму
Евменкину. При чтении тела запроса с использованием HTTP/1.1 "chunked transfer encoding"
суммарный размер игнорируемых "chunk extensions" и полей "trailer header"
теперь ограничен директивой client_max_body_size для улучшения защиты
против DoS-атак. Спасибо Максиму Дунину (freenginx) и Bartek Nowotarski. MIME-тип в файле конфигурации Обновлены: angie-module-opentracing — до версии 0.36.0 angie-module-lua — до версии 0.10.27 24.10.2024 Пакеты для операционной системы SberLinux. 29.11.2024 Добавлена поддержка WASM с использованием следующих пакетов:Добавления#
status_zone директивы
resolver.off в директиве
pid, что может быть полезным для неизменяемых образов и при
непосредственном управлении менеджером процессов. Спасибо Максиму Дунину
(freenginx)./var/run/angie.pid на /run/angie.pid. Спасибо Максиму Дунину
(freenginx).Исправления#
PID file ... not
readable (yet?) after start и Failed to parse PID from file....
Спасибо Максиму Дунину (freenginx).Изменения#
mime.types для расширения bmp изменен
на image/bmp, для расширения rar u2014 на
application/vnd.rar, а для расширений deb и udeb
теперь указан application/vnd.debian.binary-package. Спасибо Юрию
Изоркину.Пакеты#
Angie 1.6.2#
Дата выпуска: 16.08.2024. Обработка специально созданного MP4-файла модулем
ngx_http_mp4_module
могла приводить к падению рабочего процесса
(CVE-2024-7347);
исправление портировано из nginx 1.27.1.Безопасность#
Angie 1.6.1#
Дата выпуска: 08.08.2024. Счетчик При использовании виртуальных серверов или директивы pass
в модуле stream
соединения могли учитываться некорректно в API статистики. На конфигурациях с 5 ACME-клиентами и более могли
происходить падения рабочих процессов; проблема появилась в 1.6.0. Обработка закэшированных ответов с заголовком
Обновлены: angie-console-light — до версии 1.4.0 angie-module-opentracing — до версии 0.35.3 angie-module-zstd — до ревизии Добавления#
passed в зоне
API статистики, задаваемой
директивой status_zone модуля stream,
для подсчета соединений, переданных на обработку в другие слушающие сокеты
при помощи директив pass.Исправления#
X-Accel-Redirect могла приводить к падению рабочего процесса.
Спасибо Максиму Дунину (freenginx) и Иржи Сетничке.Пакеты#
f4ba115
Angie 1.6.0#
Дата выпуска: 28.06.2024. Директива sticky и сопутствующие настройки в блоке
upstream stream-модуля,
позволяющие задать режим привязки сессий,
при котором все соединения в рамках сессии
будут направляться на один и тот же сервер. Извлечение значений Cookie из RDP-соединений с помощью
директивы rdp_preread stream-модуля
в переменные $rdp_cookie и
$rdp_cookie_NAME,
что позволяет логировать и привязывать RDP-сеансы клиентов
к одним и тем же серверам при балансировке нагрузки. Возможность указать несколько директив acme
в одном блоке server,
что позволяет настраивать получение сертификатов сразу двух типов
в рамках данного виртуального сервера. Ключи командной строки Вся функциональность nginx 1.27.0,
включая поддержку виртуальных серверов в модуле stream
и директиву Запрос сертификата по протоколу ACME мог завершаться ошибкой
в некоторых конфигурациях с сообщением в логе вида
Запрос сертификата с большим количеством доменных имен по протоколу ACME
мог завершаться ошибкой с сообщением в логе вида
ACME-клиенты в конфигурациях с несколькими директивами
error_log
могли выводить сообщения в несоответствующие логи. Обновлены: angie-module-auth-jwt — до версии 0.7.0 angie-module-auth-ldap — до ревизии angie-module-jwt — до версии 3.4.1 angie-module-keyval — до версии 0.3.0 angie-module-lua:
angie-module-njs — до версии 0.8.5Добавления#
-m и -M
для отображения списка встроенных и загруженных модулей.pass,
позволяющую передавать принятые соединения на обработку в другие слушающие сокеты,
в том числе модулей HTTP и Mail.Исправления#
[alert] getsockname() failed (9: Bad file descriptor).[error] JSON parser error.Пакеты#
241200estream_lua_module — до ревизии bea8a0c
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-module-opentracing — до версии 0.35.2Безопасность#
Пакеты#
Angie 1.5.1#
Дата выпуска: 16.05.2024. Механизм При запросе сертификата по протоколу 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.Исправления#
proxy_next_upstream работал некорректно при
использовании опции resolve директивы server в блоке upstream,
если количество полученных IP-адресов отличалось от числа заданных
серверов.Изменения#
Пакеты#
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 при запросе
с аргументом Новый статус Теперь ключ Вся функциональность nginx 1.25.4. Если был задействован механизм переиспользования SSL-сессий
(proxy_ssl_session_reuse), то при динамическом обновлении списка
проксируемых серверов могла происходить утечка из зоны разделяемой памяти
( Пакеты для операционных систем FreeBSD 13 (arm64),
RED OS 8 (x86-64). Добавлены динамические модули: Обновлены: angie-module-opentracing — до версии 0.34.0 28.03.2024 Обновлены: angie-console-light — до версии 1.3.0 16.04.2024 Добавлены динамические модули: Обновлены: angie-module-njs — до версии 0.8.4 25.04.2024 Добавлены динамические модули: angie-module-vts: включает
module-vts,
module-sts,
module-stream-stsДобавления#
?date-epoch.recovering у проксируемых серверов в API статистики, означающий, что сервер медленно восстанавливается после сбоя
согласно опции slow_start.-V показывает также релевантную версию nginx, что
полезно для совместимости со сторонними утилитами, в частности
certbot. Спасибо AdvTechnoKing.Исправления#
zone), настроенной для соответствующего блока upstream.Пакеты#
Angie 1.4.1#
Дата выпуска: 15.02.2024. При использовании HTTP/3 в рабочем процессе во время обработки специально
созданной QUIC-сессии могла произойти ошибка сегментации
(CVE-2024-24989);
при этом Angie, начиная еще с версии 1.4.0, не подвержен уязвимости
CVE-2024-24990. Добавлены динамические модули: Обновлены: angie-module-njs — до версии 0.8.3 angie-module-vod — до версии 1.33Безопасность#
Пакеты#
2023#
Angie 1.4.0#
Дата выпуска: 12.12.2023. Поддержка HTTP/3-соединений с upstream-серверами в
прокси-модуле HTTP,
допускающая использование клиентами произвольных версий HTTP.
Конфигурация осуществляется с помощью директивы proxy_http_version
и набора директив Механизм плавного ввода проксируемого сервера в работу после сбоя
с помощью опции Директива 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. Добавлены динамические модули: Обновлены: angie-module-auth-jwt — до версии 0.4.0 angie-module-headers-more — до версии 0.36 angie-module-ndk — до версии 0.3.3 angie-module-opentracing — до версии 0.33.0 18.12.2023 Обновлены: angie-console-light — до версии 1.2.0 25.12.2023 Обновлены: angie-console-light — до версии 1.2.1 22.01.2024 Добавлены динамические модули: Обновлены: angie-module-auth-jwt — до версии 0.6.0 angie-module-headers-more — до версии 0.37 angie-module-lua:
Добавления#
proxy_quic_ и proxy_http3_.slow_start директивы server
в блоке upstream.Исправления#
unavailable в
API статистики
даже после восстановления работоспособности.Пакеты#
http_lua_module — до версии 0.10.26;
stream_lua_module — до версии 0.0.14
Angie 1.3.2#
Дата выпуска: 23.11.2023. Были возможны некорректные значения метрик в формате Prometheus, в значениях которых использовались отличные от Некоторые попытки соединения с проксируемыми серверами могли не учитываться
соответствующим образом в API статистики, если ошибка
происходила моментально; проблема появилась в 1.3.0. 04.12.2023 Добавлены динамические модули: 07.12.2023 Обновлены: angie-console-light — до версии 1.1.1Исправления#
$p8s_value
переменные; на практике проблема могла наблюдаться с
angie_http_upstreams_peers_state и angie_stream_upstreams_peers_state
из стандартного шаблона prometheus_all.conf.Пакеты#
Angie 1.3.1#
Дата выпуска: 18.10.2023. Добавлены дополнительные ограничения при обработке потоков HTTP/2, чтобы
лучше противостоять DoS-атаке "HTTP/2 Rapid Reset" (CVE-2023-44487). 26.10.2023 Добавлены динамические модули: 13.11.2023 Добавлены динамические модули: Обновлены: angie-console-light — до версии 1.1.0 angie-module-headers-more — до версии 0.35 angie-module-njs — до версии 0.8.2 angie-module-vod — до версии 1.32Безопасность#
Пакеты#
Angie 1.3.0#
Дата выпуска: 19.09.2023. Возможность указывать в директиве Экспорт различных метрик статистики в формате Prometheus
с гибко настраиваемыми шаблонами при помощи новых директив
prometheus и prometheus_template. Детальная информация и метрики по
группам проксируемых stream-серверов в интерфейсе статистики, предоставляемом
директивой api. Опция resolve директивы Опция service директивы Получение содержимого конфигурационных файлов, с которыми
было запущено текущее поколение рабочих процессов, в интерфейсе,
предоставляемом директивой api при включении директивы
api_config_files. Отображение номера поколения конфигурации в
именах процессов, что позволяет с помощью утилиты Вся функциональность nginx 1.25.2. Сборка завершалась ошибкой при использовании опций
Теперь при загрузке конфигурации OpenSSL используется
appname Обновлены: angie-module-njs — до версии 0.8.1.Добавления#
location несколько строк для
сопоставления, что позволяет объединить несколько
блоков location с одинаковыми настройками и, таким образом, упростить
конфигурацию за счет уменьшения дублирования.server в блоке upstream
модуля stream, позволяющая отслеживать изменения
списка IP-адресов, соответствующего доменному имени, и автоматически
обновлять его без перезагрузки конфигурации.server в блоке upstream
модуля stream, позволяющая получать списки адресов
из DNS-записей SRV, с базовой поддержкой приоритета.ps отслеживать успех
перезагрузок конфигурации и количество поколений рабочих процессов с
предыдущими версиями конфигурации.Исправление#
./configure --without-http_upstream_zone_module или
--without-stream_upstream_zone_module; ошибка появилась в 1.2.0.Изменения#
angie.Пакеты#
Angie 1.2.0#
Дата выпуска: 30.05.2023. Директива sticky и сопутствующие настройки в блоке upstream
HTTP-модуля, позволяющие задать режим привязки сессий,
при котором все запросы в рамках сессии будут направляться на один и тот же
сервер. Переменная $upstream_sticky_status, принимающая значения Поддержка NTLS в HTTP модулях
при использовании TLS библиотеки TongSuo, включаемая опцией сборки
В HTTP прокси-модулях
теперь можно настраивать несколько сертификатов разного типа (RSA и ECDSA) и
соответствующих им ключей, используя директивы proxy_ssl_certificate и
proxy_ssl_certificate_key. Вывод версии и сборки в отображаемом имени Возможность сжатия модулем gzip ответов со статусом "207
Multi-Status". Спасибо
DBotThePony. Вся функциональность nginx 1.25.0,
включая поддержку HTTP/3. Пакеты для операционной системы Ubuntu 23.04 "Lunar Lobster". Пакеты динамических модулей: Пакет 13.06.2023 Пакеты для операционных систем Debian 12 "Bookworm" и
AlmaLinux. 12.07.2023 Добавлены динамические модули: Обновлены: angie-module-njs — до версии 0.8.0. 28.07.2023 Добавлены динамические модули: 18.08.2023 Добавлены динамические модули:Добавления#
NEW,
HIT или MISS в зависимости от успеха направления запроса на
релевантный проксируемый сервер с включенной привязкой сессий.‑‑with‑ntls и настраиваемая с помощью соответствующих директив
ssl_ntls и proxy_ssl_ntls.master процесса, что позволяет
с помощью утилиты ps получить эту информацию о работающем экземпляре
сервера.Пакеты#
angie-module-lua включает
http_lua_module
и
stream_lua_module.
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 Пакеты для операционной системы FreeBSD. Пакеты динамических модулей: 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.Добавления#