Выпуск Angie 1.4.0, российского форка Nginx

Опубликован выпуск высокопроизводительного HTTP-сервера и многопротокольного прокси-сервера Angie 1.4.0, ответвлённого от Nginx группой бывших разработчиков проекта, уволившихся из компании F5 Network. Исходные тексты Angie доступны под лицензией BSD. Проект получил сертификаты совместимости с российскими операционными системами Ред ОС, Astra Linux Special Edition, Роса Хром 12 Сервер, Альт и ФСТЭК-версии Альт.

Сопровождением разработки занимается компания “Веб-сервер”, образованная прошлой осенью и получившая инвестиции в размере 1 млн долларов. Среди совладельцев компании Веб-сервер: Валентин Бартенев (лидер команды, развивавшей продукт Nginx Unit), Иван Полуянов (бывший руководитель фронтэнд-разработчиков Rambler и Mail.Ru), Олег Мамонтов (руководитель команды техподдержки NGINX Inc) и Руслан Ермилов ([email protected]).

Изменения в выпуске Angie 1.4.0:

  • В модуль http_proxy добавлена возможность использования протокола HTTP/3 при соединении с вышестоящими проксируемыми серверами (поддержка HTTP/3 для клиентских соединений присутствует в Angie с версии 1.2.0). Для настройки проксируемых соединений на базе протоколов HTTP/3 и Quic доступны директивы proxy_http_version, proxy_quic_* и proxy_http3_*.

    http/3 определяет использование протокола QUIC (Quick UDP Internet Connections) в качестве транспорта для HTTP/2. QUIC представляет собой надстройку над протоколом UDP, поддерживающую мультиплексирование нескольких соединений и обеспечивающую методы шифрования, эквивалентные TLS/SSL. Протокол был создан в 2013 году компанией Google в качестве альтернативы связке TCP+TLS для Web, решающей проблемы с большим временем установки и согласования соединений в TCP и устраняющей задержки при потере пакетов в процессе передачи данных.

  • Из репозитория проекта nginx перенесены изменения, накопившиеся в nginx 1.25.3.
  • В директиву “server“, применяемую в блоке настроек “upstream”, добавлена опция “slow_start” для плавного ввода проксируемого сервера в работу после сбоя. Опция задаёт время восстановления веса сервера, возвращающегося к работе после сбоя, при использовании балансировки нагрузки методом “round-robin” или “least_conn”.
  • В модуль “stream” добавлена директива “mqtt_preread“, при указании которой из пакета CONNECT протокола MQTT извлекаются имя пользователя и идентификатор клиента, после чего они записываются в переменные $mqtt_preread_username и $mqtt_preread_clientid.
  • Добавлена директива “mp4_limit_rate” для ограничения скорости отдачи MP4-файлов клиенту пропорционально битрейту, а также директива “mp4_limit_rate_after” для определения начального размера переданных данных, до достижения которого не применяется ограничение.
  • Сформированы пакеты для дистрибутива Alpine Linux 3.19.
  • Добавлен динамически загружаемый модуль “angie-module-auth-ldap” для аутентификации с использованием LDAP.
  • Обновлены версии модулей angie-module-headers-more 0.36, angie-module-ndk 0.3.3 и angie-module-opentracing 0.33.0.
  • Открыт код модуля Console Light с реализацией интерфейса для мониторинга активности в реальном режиме времени, позволяющем отслеживать ключевые метрики производительности сервера.
  • Добавлен пакет angie-module-modsecurity для интеграции с WAF-системой (Web Application Firewall) ModSecurity, предоставляющей правила и фильтры для блокирования широкого спектра атак на web-приложения.
Release. Ссылка here.