Встроенные модули#
В этом справочнике описаны собственные модули Angie, даны примеры конфигурации, перечислены их директивы и параметры, а также встроенные переменные.
Основной модуль#
Управление служебными файлами, процессами и другими модулями Angie. |
HTTP-модули#
Основная функциональность для обработки HTTP-запросов и ответов, управления HTTP-сервером, соединениями и статическими файлами. | |
Контроль доступа на основе IP-адресов и диапазонов CIDR. | |
Автоматическое получение SSL-сертификатов по протоколу ACME. | |
Вставка заданного фрагмента до или после тела ответа. | |
RESTful HTTP-интерфейс для получения базовой информации о веб-сервере и его статистики в формате JSON, а также управления группами проксируемых серверов. | |
Базовая HTTP-аутентификация для контроля доступа по имени пользователя и паролю. | |
Авторизация с помощью подзапроса к внешнему HTTP-сервису. | |
Автоматический листинг директорий без индексного файла. | |
Browser (устарел) | Определение браузера на основе заголовка |
Настройка и преобразование кодировки ответа. | |
Управление файлами на сервере по протоколу WebDAV. | |
Отдача однопиксельного прозрачного GIF. | |
Проксирование запроса к FastCGI-серверу. | |
Псевдо-стриминг файлов в формате Flash Video (FLV). | |
Преобразование IP-адресов в заданные значения переменных. | |
Получение данных об IP-адресах на основе геолокации по базам MaxMind GeoIP. | |
Проксирование запроса к gRPC-серверу. | |
Распаковка сжатых GZip-ответов для их модификации и в случаях, когда клиент не поддерживает компрессию. | |
Сжатие ответов методом GZip для экономии трафика. | |
Отдача статических файлов, предварительно сжатых методом GZip. | |
Изменение полей заголовка ответа. | |
Обработка запросов по протоколу HTTP/2. | |
Обработка запросов по протоколу HTTP/3. | |
Преобразование изображений. | |
Настройка индексных файлов,
обслуживающих запросы с косой чертой в конце ( | |
Обработчики для расширения функциональности путем задания дополнительной логики на njs, подмножестве языка JavaScript. | |
Ограничение числа одновременных запросов (активных соединений) для защиты от перегрузки. | |
Ограничение частоты запросов для защиты от перегрузки и подбора паролей. | |
Настройка журнала запросов для отслеживания обращений к ресурсам с целью мониторинга и анализа. | |
Преобразование переменных на основе предопределенных пар "ключ-значение". | |
Получение ответов от Memcached-сервера. | |
Зеркалирование запросов на другие серверы. | |
Псевдо-стриминг файлов в формате MP4. | |
Обработчики для расширения функциональности путем задания дополнительной логики на языке Perl. | |
Метрики сервера в формате, совместимом с Prometheus, для мониторинга и сбора статистики. | |
Реверсивное проксирование запросов к другим HTTP-серверам. | |
Случайный выбор индексного файла для запросов,
оканчивающихся косой чертой ( | |
Определение адреса и порта клиента при работе за другим прокси-сервером. | |
Валидация значений заголовка | |
Модификация URI запроса, перенаправления, установка переменных и выбор конфигурации по условию. | |
Проксирование запроса к SCGI-серверу. | |
Создание защищенных ссылок с возможностью ограничения срока доступа. | |
Разделение запроса на множество подзапросов к отдельным фрагментам для лучшего кэширования больших ответов. | |
Создание переменных для A/B-тестирования, канареечных релизов, шардинга и других сценариев, требующих разделения по пропорциональным группам. | |
Обработка команд SSI (Server Side Includes) в ответах. | |
Настройка SSL/TLS для обработки запросов по протоколу HTTPS. | |
Stub Status (устарел) | Глобальные счетчики соединений и запросов в текстовом формате. |
Поиск и замена фрагментов в теле ответа. | |
Настройка групп проксируемых серверов для балансировки нагрузки. | |
Настройка активных проверок работоспособности для групп проксируемых серверов. | |
Выдача и обработка cookie с уникальным идентификатором клиента для отслеживания сеансов и аналитики. | |
Проксирование запроса к uWSGI-серверу. | |
Преобразование XML-документов с помощью языка XSLT. |
Потоковые модули#
Основная функциональность потокового сервера для балансировки протоколов TCP и UDP на уровне L4. | |
Контроль доступа на основе IP-адресов и диапазонов CIDR. | |
Преобразование IP-адресов в заданные значения переменных. | |
Получение данных об IP-адресах на основе геолокации по базам MaxMind GeoIP. | |
Обработчики для расширения функциональности путем задания дополнительной логики на njs, подмножестве языка JavaScript. | |
Ограничение числа одновременных соединений для защиты от перегрузки. | |
Настройка журнала сессий для отслеживания обращений к ресурсам с целью мониторинга и анализа. | |
Преобразование переменных на основе предопределенных пар "ключ-значение". | |
Чтение идентификатора клиента и имени пользователя из соединения по протоколу MQTT до момента принятия решения о балансировке. | |
Передача принятых соединений напрямую в настроенный слушающий сокет. | |
Настройка проксирования к другим серверам. | |
Чтение cookie из соединения по протоколу RDP до момента принятия решения о балансировке. | |
Определение адреса и порта клиента при работе за другим прокси-сервером. | |
Отправка в ответ клиенту при его подключении заданного значения без дальнейшего проксирования. | |
Установка заданных значений переменных. | |
Создание переменных для A/B-тестирования, канареечных релизов, шардинга и других сценариев, требующих разделения по пропорциональным группам. | |
Терминация протоколов SSL/TLS и DTLS. | |
Извлечение информации из сообщения | |
Настройка групп проксируемых серверов для балансировки нагрузки. | |
Настройка активных проверок работоспособности для групп проксируемых серверов. |
Почтовые модули#
Основная функциональность почтового прокси-сервера. | |
Аутентификация пользователей и выбор сервера для последующего проксирования с помощью HTTP-запросов к внешнему серверу. | |
Поддержка протокола IMAP. | |
Поддержка протокола POP3. | |
Настройка проксирования к другим серверам. | |
Определение адреса и порта клиента при работе за другим прокси-сервером. | |
Поддержка протокола SMTP. | |
Поддержка протоколов SSL/TLS и StartTLS. |
Модуль Google PerfTools#
Отвечает за интеграцию с библиотекой Google Performance Tools для профилирования и анализа производительности приложений. |
Модули WASM#
Основная функциональность WASM, позволяющая запускать WASM-код в Angie. | |
Интеграция с WebAssembly Micro Runtime. | |
Интеграция со средой выполнения Wasmtime. |