Выпуск Angie 1.11.0, форка Nginx
Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.11.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром Сервер, Альт и ФСТЭК-версии Альт.
Сопровождением разработки занимается компания «Веб-сервер», образованная осенью 2022 года и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов (ru@FreeBSD.org).
Изменения в Angie 1.11.0:
Добавлен модуль «http-metric», позволяющий в реальном времени собирать любые HTTP-метрики на разных стадиях обработки запроса и агрегировать их с использованием различных методов (счётчики, гистограммы, скользящие средние и др.). Доступ к собранным данным осуществляется в форматах JSON и Prometheus через HTTP API (/status/http/metric_zones/), а также через переменные и логи.
Расширены возможности, связанные с поддержкой протокола ACME: добавлена поддержка ALPN-верификации, улучшено отображение статуса перевыпуска сертификатов в HTTP API /status/http/acme_clients/ (с поддержкой Prometheus), упрощена конфигурация HTTP-подтверждений и налажен доступ к сертификатам из блока stream. HTTP-верификация в ACME теперь может работать без блоков server с директивой listen 80 в конфигурации (для изменения слушающего порта предложена директива acme_http_port). Обеспечено автоматическое вычисление приблизительного размера получаемого сертификата (для сертификатов с большим числом доменов теперь можно обойтись без настройки параметра max_cert_size в директиве acme_client). Максимальный размер ответа от ACME-сервера теперь ограничивается директивой acme_max_response_size.
В модуль http_image_filter добавлена поддержка форматов AVIF и HEIC. В директиву image_filter добавлен параметр convert для конвертации между форматами изображений.
Реализована поддержка TLS-расширения ECH (Encrypted ClientHello), продолжающего развитие расширения ESNI (Encrypted Server Name Indication) и используемого для шифрования информации о параметрах TLS-сеансов, таких как запрошенное доменное имя. Файл с закрытым ключом для ECH задаётся через директиву ssl_encrypted_hello_key, а информация об использовании ECH доступна через переменную $ssl_encrypted_hello.
В модуль stream добавлена поддержка протокола PROXYv2 при передаче трафика в сторону проксируемых серверов.
Добавлена возможность подсчёта количества элементов в списках и объектах при экспорте метрик Prometheus (пути, оканчивающиеся косой чертой, теперь возвращают количество элементов в соответствующей коллекции API).
- Добавлена переменная $sent_body, содержащая тело ответа подзапроса или запроса от клиентского модуля.
Добавлена переменная $upstream_cache_key, содержащая используемый ключ кэширования.
В почтовом прокси-сервере реализована поддержка методов аутентификации XOAUTH2 и OAUTHBEARER.
Реализована поддержка сборки с криптографической библиотекой AWS-LC, развиваемой компанией Amazon.
Решены проблемы со сборкой в NetBSD 10.0.
Улучшены проксирование и корректное кэширование запросов GET и HEAD.
Исправлены проблемы с HTTP/3, связанные с деградацией работы протокола при reload и сбоем после бинарного обновления; улучшена маршрутизация QUIC-пакетов между процессами за счёт доработки BPF-кода.
- Из репозитория проекта nginx перенесены изменения, предложенные в версии nginx 1.29.3, за исключением директив add_header_inherit и add_trailer_inherit. Перенесены отдельные улучшения из FreeNginx.
Источник: http://www.opennet.ru/opennews/art.shtml? num=64495
© OpenNet
