О проекте#

Angie PRO — эффективный, мощный и масштабируемый веб-сервер, реализованный как форк nginx:

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

  • Включает все возможности nginx 1.25.2, включая поддержку HTTP/3, и ряд новых функций.

Текущая версия#

Версия Angie PRO 1.3.2 была выпущена 23 ноября 2023 г. Новые версии выходят раз в квартал; в промежутках публикуются срочные исправления и важные улучшения.

Также см. полную историю версий.

Функциональность#

Среди основных преимуществ в сравнении с nginx:

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

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

  • Управление проксируемыми серверами через REST-подобный API-интерфейс динамической конфигурации.

  • Экспорт статистики в формате Prometheus с настраиваемыми шаблонами.

  • Визуальная консоль мониторинга Console Light для управления сервером и наблюдения за ним через браузер. Познакомиться с онлайн-примером: https://console.angie.software/

  • Возможность автоматически обновлять списки проксируемых серверов, соответствующих доменному имени, и получать эти списки из DNS-записей SRV.

  • Активная проверка состояния проксируемых серверов путём отправки периодических тестовых запросов.

  • Балансировка с учетом среднего времени ответа от проксируемых серверов с настраиваемым коэффициентом сглаживания.

  • Режим привязки сессий, при котором все запросы в рамках одной сессии будут направляться на один и тот же проксируемый сервер.

  • Условная привязка клиентских соединений к соединению с проксируемым сервером, что в том числе даёт возможность проксировать NTLM.

  • Сегментирование кэша в прокси-модуле, которое позволяет в зависимости от свойств ответа размещать его в разных местах.

  • Готовые бинарные пакеты для множества популярных сторонних модулей.