Выпуск 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