Встроенные модули#

В этом справочнике описаны собственные модули Angie, даны примеры конфигурации, перечислены их директивы и параметры, а также встроенные переменные.

Основной модуль#

Основной модуль

Управление служебными файлами, процессами и другими модулями Angie.

HTTP-модули#

HTTP

Основная функциональность для обработки HTTP-запросов и ответов, управления HTTP-сервером, соединениями и статическими файлами.

Access

Контроль доступа на основе IP-адресов и диапазонов CIDR.

ACME

Автоматическое получение SSL-сертификатов по протоколу ACME.

Addition

Вставка заданного фрагмента до или после тела ответа.

API

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

Auth Basic

Базовая HTTP-аутентификация для контроля доступа по имени пользователя и паролю.

Auth Request

Авторизация с помощью подзапроса к внешнему HTTP-сервису.

AutoIndex

Автоматический листинг директорий без индексного файла.

Browser (устарел)

Определение браузера на основе заголовка User-Agent.

Charset

Настройка и преобразование кодировки ответа.

DAV

Управление файлами на сервере по протоколу WebDAV.

Empty GIF

Отдача однопиксельного прозрачного GIF.

FastCGI

Проксирование запроса к FastCGI-серверу.

FLV

Псевдо-стриминг файлов в формате Flash Video (FLV).

Geo

Преобразование IP-адресов в заданные значения переменных.

GeoIP

Получение данных об IP-адресах на основе геолокации по базам MaxMind GeoIP.

gRPC

Проксирование запроса к gRPC-серверу.

GunZIP

Распаковка сжатых GZip-ответов для их модификации и в случаях, когда клиент не поддерживает компрессию.

GZip

Сжатие ответов методом GZip для экономии трафика.

GZip Static

Отдача статических файлов, предварительно сжатых методом GZip.

Headers

Изменение полей заголовка ответа.

HTTP2

Обработка запросов по протоколу HTTP/2.

HTTP3

Обработка запросов по протоколу HTTP/3.

Image Filter

Преобразование изображений.

Index

Настройка индексных файлов, обслуживающих запросы с косой чертой в конце (/).

JS

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

Limit Conn

Ограничение числа одновременных запросов (активных соединений) для защиты от перегрузки.

Limit Req

Ограничение частоты запросов для защиты от перегрузки и подбора паролей.

Log

Настройка журнала запросов для отслеживания обращений к ресурсам с целью мониторинга и анализа.

Map

Преобразование переменных на основе предопределенных пар "ключ-значение".

Memcached

Получение ответов от Memcached-сервера.

Mirror

Зеркалирование запросов на другие серверы.

MP4

Псевдо-стриминг файлов в формате MP4.

Perl

Обработчики для расширения функциональности путем задания дополнительной логики на языке Perl.

Prometheus

Метрики сервера в формате, совместимом с Prometheus, для мониторинга и сбора статистики.

Proxy

Реверсивное проксирование запросов к другим HTTP-серверам.

Random Index

Случайный выбор индексного файла для запросов, оканчивающихся косой чертой (/).

RealIP

Определение адреса и порта клиента при работе за другим прокси-сервером.

Referer

Валидация значений заголовка Referer.

Rewrite

Модификация URI запроса, перенаправления, установка переменных и выбор конфигурации по условию.

SCGI

Проксирование запроса к SCGI-серверу.

Secure Link

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

Slice

Разделение запроса на множество подзапросов к отдельным фрагментам для лучшего кэширования больших ответов.

Split Clients

Создание переменных для A/B-тестирования, канареечных релизов, шардинга и других сценариев, требующих разделения по пропорциональным группам.

SSI

Обработка команд SSI (Server Side Includes) в ответах.

SSL

Настройка SSL/TLS для обработки запросов по протоколу HTTPS.

Stub Status (устарел)

Глобальные счетчики соединений и запросов в текстовом формате.

Sub

Поиск и замена фрагментов в теле ответа.

Upstream

Настройка групп проксируемых серверов для балансировки нагрузки.

Upstream Probe

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

UserID

Выдача и обработка cookie с уникальным идентификатором клиента для отслеживания сеансов и аналитики.

uWSGI

Проксирование запроса к uWSGI-серверу.

XSLT

Преобразование XML-документов с помощью языка XSLT.

Потоковые модули#

Stream

Основная функциональность потокового сервера для балансировки протоколов TCP и UDP на уровне L4.

Access

Контроль доступа на основе IP-адресов и диапазонов CIDR.

Geo

Преобразование IP-адресов в заданные значения переменных.

GeoIP

Получение данных об IP-адресах на основе геолокации по базам MaxMind GeoIP.

JS

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

Limit Conn

Ограничение числа одновременных соединений для защиты от перегрузки.

Log

Настройка журнала сессий для отслеживания обращений к ресурсам с целью мониторинга и анализа.

Map

Преобразование переменных на основе предопределенных пар "ключ-значение".

MQTT Preread

Чтение идентификатора клиента и имени пользователя из соединения по протоколу MQTT до момента принятия решения о балансировке.

Pass

Передача принятых соединений напрямую в настроенный слушающий сокет.

Proxy

Настройка проксирования к другим серверам.

RDP Preread

Чтение cookie из соединения по протоколу RDP до момента принятия решения о балансировке.

RealIP

Определение адреса и порта клиента при работе за другим прокси-сервером.

Return

Отправка в ответ клиенту при его подключении заданного значения без дальнейшего проксирования.

Set

Установка заданных значений переменных.

Split Clients

Создание переменных для A/B-тестирования, канареечных релизов, шардинга и других сценариев, требующих разделения по пропорциональным группам.

SSL

Терминация протоколов SSL/TLS и DTLS.

SSL Preread

Извлечение информации из сообщения ClientHello без терминации SSL/TLS и до момента принятия решения о балансировке.

Upstream

Настройка групп проксируемых серверов для балансировки нагрузки.

Upstream Probe

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

Почтовые модули#

Mail

Основная функциональность почтового прокси-сервера.

Auth HTTP

Аутентификация пользователей и выбор сервера для последующего проксирования с помощью HTTP-запросов к внешнему серверу.

IMAP

Поддержка протокола IMAP.

POP3

Поддержка протокола POP3.

Proxy

Настройка проксирования к другим серверам.

RealIP

Определение адреса и порта клиента при работе за другим прокси-сервером.

SMTP

Поддержка протокола SMTP.

SSL

Поддержка протоколов SSL/TLS и StartTLS.

Модуль Google PerfTools#

Google PerfTools

Отвечает за интеграцию с библиотекой Google Performance Tools для профилирования и анализа производительности приложений.

Модули WASM#

WASM

Основная функциональность WASM, позволяющая запускать WASM-код в Angie.

WAMR

Интеграция с WebAssembly Micro Runtime.

Wasmtime

Интеграция со средой выполнения Wasmtime.