<a id="about"></a>

# О веб-сервере Angie

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

* Создан бывшими разработчиками исходного проекта,
  чтобы двигаться в новом направлении,
  и может служить [заменой предшественнику](https://angie.software//angie/docs/configuration/migration.md#migration)
  без переработки конфигурации и модулей.
* Включает почти все возможности
  [nginx |nginxversion|](https://nginx.org/ru/CHANGES.ru)
  и добавляет к ним целый ряд [новых функций](#index-features-oss).

Доступны бинарные пакеты для разных
[ОС и архитектур](https://angie.software//angie/docs/installation/index.md#install-packages),
а также
[Docker-образы](https://angie.software//angie/docs/installation/docker.md#docker-images).
Исходный код проекта открыт в
[публичных репозиториях](https://angie.software//angie/docs/development.md#development)
под свободной
[лицензией типа BSD](https://angie.software//angie/license-angie.md#license-angie).

Также выпускается коммерческая версия Angie PRO, которая обладает
[дополнительными возможностями](#index-features-pro)
и внесена в [реестр российского ПО](https://reestr.digital.gov.ru/reestr/1484113/).

Выбор готовых пакетов Angie,
Docker-образы и сборка из исходного кода.

Запуск и управление;
конфигурация, модули, директивы и переменные.

Решение технических проблем с Angie,
способы обратной связи.

Сведения для разработчиков,
желающих принять участие в проекте.

<a id="current-version"></a>

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

**Angie |angie_version|** и **Angie PRO |angie_pro_version|** были выпущены **|angie_release_date|**.
Новые версии выходят раз в квартал;
в промежутках публикуются срочные исправления и важные улучшения.

Также см. полную историю версий
[Angie](https://angie.software//angie/docs/oss_changes.md#oss-changes)
и
[Angie PRO](https://angie.software//angie/docs/pro_changes.md#pro-changes).

<a id="index-features-oss"></a>

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

Среди основных преимуществ в сравнении с nginx,
доступных в открытой бесплатной версии Angie:

- Поддержка [HTTP/3](https://angie.software//angie/docs/configuration/modules/http/http_v3.md#http-v3) как для соединений с
  клиентами, так и для соединений с [проксируемыми серверами](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-http-version), позволяющая независимо использовать разные протоколы
  (HTTP/1.x, HTTP/2, HTTP/3) на другой стороне.
- Автоматическая настройка HTTPS позволяет получать TLS-сертификаты
  за счет встроенной поддержки протокола [ACME](https://angie.software//angie/docs/configuration/modules/http/http_acme.md#id4).
- Упрощение конфигурации: в директиве `location`
  можно задать сразу несколько строк для сопоставления,
  [объединив](https://angie.software//angie/docs/configuration/modules/http/index.md#combined-locations) блоки с одинаковыми настройками.
- Получение базовых сведений о веб-сервере,
  его [конфигурации](https://angie.software//angie/docs/configuration/modules/http/http_api.md#a-api-config-files),
  а также [статистики](https://angie.software//angie/docs/configuration/modules/http/http_api.md#metrics) по проксируемым серверам,
  клиентским соединениям, зонам разделяемой памяти и многим другим вещам
  через REST-подобный [API-интерфейс](https://angie.software//angie/docs/configuration/modules/http/http_api.md#a-api) в формате JSON.
- Экспорт статистики в формате [Prometheus](https://angie.software//angie/docs/configuration/modules/http/http_prometheus.md#id3)
  с [настраиваемыми шаблонами](https://angie.software//angie/docs/configuration/modules/http/http_prometheus.md#prometheus-template).
- Визуальная консоль мониторинга [Console Light](https://angie.software//angie/docs/configuration/monitoring.md#monitoring)
  для наблюдения за сервером через браузер.
  Познакомиться с онлайн-примером: [https://console.angie.software/](https://console.angie.software/)
- Динамическое обновление групп проксируемых серверов
  по событиям и меткам [контейнеров Docker](https://angie.software//angie/docs/configuration/modules/http/http_docker.md#http-docker)
  (или аналогов, например Podman)
  без перезагрузки сервера.
- Сброс общей зоны памяти на диск в [proxy_cache_path](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-cache-path)
  сохраняет содержимое индекса кэша между перезапусками и обновлениями,
  что устраняет задержку загрузки кэша и позволяет еще быстрее поднять сервер.
- Режим [привязки сессий](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-sticky), при котором все запросы в рамках
  одной сессии будут направляться на один и тот же проксируемый сервер.
- Механизм плавного ввода проксируемого сервера в работу после сбоя
  с помощью опции `slow_start` директивы [server](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-server).
- Ограничение [скорости отдачи MP4-файлов](https://angie.software//angie/docs/configuration/modules/http/http_mp4.md#mp4-limit-rate)
  пропорционально битрейту,
  снижающее нагрузку на полосу пропускания.
- Директива [mqtt_preread](https://angie.software//angie/docs/configuration/modules/stream/stream_mqtt_preread.md#s-mqtt-preread) модуля `stream`,
  расширяющая возможности авторизации и балансировки для протокола MQTT.
- Принятие решений при балансировке с учетом сессионных cookie протокола RDP
  при помощи директивы [rdp_preread](https://angie.software//angie/docs/configuration/modules/stream/stream_rdp_preread.md#s-rdp-preread) в `stream`.
- Готовые [бинарные пакеты](https://angie.software//angie/docs/installation/external-modules/index.md#install-thirdpartymodules)
  для множества популярных сторонних модулей.

---

<a id="index-features-pro"></a>

Коммерческая версия Angie PRO добавляет к
[общедоступным функциям](#index-features-oss)
следующие возможности:

- Управление проксируемыми серверами
  через REST-подобный [API-интерфейс](https://angie.software//angie/docs/configuration/modules/http/http_api.md#api-config)
  динамической конфигурации;
  визуальную консоль мониторинга [Console Light](https://angie.software//angie/docs/configuration/monitoring.md#monitoring)
  также можно использовать для управления сервером через браузер.
- Активная проверка состояния проксируемых серверов путем
  отправки периодических [тестовых запросов](https://angie.software//angie/docs/configuration/modules/http/http_upstream_probe.md#u-upstream-probe).
- Балансировка с учетом [среднего времени](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-least-time) ответа от
  проксируемых серверов с [настраиваемым коэффициентом сглаживания](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-response-time-factor).
- Балансировка на основе [обратной связи](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-feedback),
  которая выбирает серверы на основе значения переменной;
  предполагается, что оно поступает от самих серверов,
  передающих загрузку процессора или другие метрики.
- Очередь ожидания для запросов,
  настраиваемая с помощью директивы [queue](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-queue)
  в блоке `upstream`.
- Дополнительный режим привязки [sticky learn](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-sticky),
  позволяющий обнаруживать сессии и запоминать их в разделяемой памяти
  или во внешнем хранилище, объединяя несколько балансировщиков в кластер.
- Использование директивы [backup_switch](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-backup-switch)
  в блоке `upstream` HTTP-модуля позволяет резервным серверам
  продолжать обработку запросов даже после того,
  как основные серверы снова становятся доступными.
- Условная [привязка клиентских соединений](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#u-bind-conn) к соединению с
  проксируемым сервером, что в том числе дает возможность проксировать NTLM.
- Сегментирование кэша в прокси-модуле, которое позволяет в зависимости от
  свойств ответа размещать его [в разных местах](https://angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-cache).
- Имя сервера на страницах ошибок и в поле заголовка `Server`
  можно скрыть или переопределить с помощью директивы [server_tokens](https://angie.software//angie/docs/configuration/modules/http/index.md#server-tokens).
