Módulos Integrados#

Este guia descreve os módulos integrados do Angie, fornece exemplos de configuração, lista suas diretivas e parâmetros, bem como variáveis integradas.

Módulo Core#

Core

Gerenciamento de arquivos de serviço, processos e outros módulos do Angie.

Módulos HTTP#

HTTP

Funcionalidade principal para processamento de requisições e respostas HTTP, gerenciamento do servidor HTTP, conexões e arquivos estáticos.

Access

Controle de acesso baseado em endereços IP e intervalos CIDR.

ACME

Obtenção e renovação automática de certificados SSL usando o protocolo ACME para servidores HTTP.

Docker

Atualização dinâmica de grupos de servidores proxy baseada em labels de contêineres Docker.

Addition

Inserção de um trecho especificado antes ou depois do corpo da resposta.

API

Interface HTTP RESTful para obter informações básicas do servidor web e estatísticas em formato JSON, bem como gerenciar grupos de servidores proxy.

Auth Basic

Autenticação HTTP básica para controle de acesso baseado em nome de usuário e senha.

Auth Request

Autorização usando uma sub-requisição para um serviço HTTP externo.

AutoIndex

Listagem automática de diretório sem um arquivo de índice.

Browser (descontinuado)

Identificação de navegador baseada no cabeçalho User-Agent.

Charset

Configuração e conversão de codificação de resposta.

DAV

Gerenciamento de arquivos no servidor usando o protocolo WebDAV.

Empty GIF

Servindo um GIF transparente de um pixel.

FastCGI

Proxy de requisições para um servidor FastCGI.

FLV

Pseudo-streaming de arquivos Flash Video (FLV).

Geo

Conversão de endereços IP em valores de variáveis especificados.

GeoIP

Obtenção de dados de endereços IP baseada em geolocalização usando bancos de dados MaxMind GeoIP.

gRPC

Proxy de requisições para um servidor gRPC.

GunZIP

Descompressão de respostas comprimidas com GZip para modificação e em casos onde o cliente não suporta compressão.

GZip

Compressão de respostas usando o método GZip para economizar tráfego.

GZip Static

Servindo arquivos estáticos pré-comprimidos usando o método GZip.

Headers

Modificação de campos de cabeçalho de resposta.

HTTP2

Processamento de requisições usando o protocolo HTTP/2.

HTTP3

Processamento de requisições usando o protocolo HTTP/3.

Image Filter

Transformação de imagens.

Index

Configuração de arquivos de índice que atendem requisições terminadas com barra (/).

JS

Manipuladores para estender funcionalidade especificando lógica adicional em njs, um subconjunto da linguagem JavaScript.

Limit Conn

Limitação do número de requisições concorrentes (conexões ativas) para proteção contra sobrecarga.

Limit Req

Limitação de frequência de requisições para proteção contra sobrecarga e tentativas de adivinhação de senha.

Log

Configuração de logs de requisição para rastreamento de acesso a recursos para fins de monitoramento e análise.

Map

Conversão de variáveis baseada em pares chave-valor predefinidos.

Memcached

Recuperação de respostas de um servidor Memcached.

Mirror

Espelhamento de requisições para outros servidores.

MP4

Pseudo-streaming de arquivos MP4.

Perl

Manipuladores para estender funcionalidade especificando lógica adicional na linguagem Perl.

Prometheus

Métricas do servidor em formato compatível com Prometheus para monitoramento e coleta de estatísticas.

Proxy

Proxy reverso de requisições para outros servidores HTTP.

Random Index

Seleção aleatória de um arquivo de índice para requisições terminadas com barra (/).

RealIP

Determinação de endereço e porta do cliente ao operar atrás de outro servidor proxy.

Referer

Validação de valores do cabeçalho Referer.

Rewrite

Modificação de URI de requisição, redirecionamentos, definição de variáveis, e seleção de configuração condicional.

SCGI

Proxy de requisições para um servidor SCGI.

Secure Link

Criação de links seguros com capacidade de limitar tempo de acesso.

Slice

Divisão de requisições em múltiplas sub-requisições para fragmentos individuais para melhor cache de respostas grandes.

Split Clients

Criação de variáveis para testes A/B, releases canário, sharding, e outros cenários que requerem divisão proporcional de grupos.

SSI

Processamento de comandos SSI (Server Side Includes) em respostas.

SSL

Configuração SSL/TLS para processamento de requisições HTTPS.

Stub Status (descontinuado)

Contadores globais de conexão e requisição em formato texto.

Sub

Busca e substituição de fragmentos no corpo da resposta.

Upstream

Configuração de grupos de servidores proxy para balanceamento de carga.

Upstream Probe

Configuração de verificações ativas de saúde para grupos de servidores proxy.

UserID

Emissão e processamento de cookies com identificadores únicos de cliente para rastreamento de sessão e análise.

uWSGI

Proxy de requisições para um servidor uWSGI.

XSLT

Transformação de documentos XML usando a linguagem XSLT.

Módulos Stream#

Stream

Funcionalidade principal do servidor stream para balanceamento de protocolos TCP e UDP no nível L4.

Access

Controle de acesso baseado em endereços IP e faixas CIDR.

ACME

Obtenção e renovação automática de certificados SSL usando o protocolo ACME para servidores stream.

Geo

Conversão de endereços IP em valores de variáveis especificados.

GeoIP

Obtenção de dados de endereços IP baseada em geolocalização usando bancos de dados MaxMind GeoIP.

JS

Manipuladores para estender funcionalidade especificando lógica adicional em njs, um subconjunto da linguagem JavaScript.

Limit Conn

Limitação do número de conexões simultâneas para proteção contra sobrecarga.

Log

Configuração de logs de sessão para rastreamento de acesso a recursos para fins de monitoramento e análise.

Map

Conversão de variáveis baseada em pares chave-valor predefinidos.

MQTT Preread

Leitura de identificador de cliente e nome de usuário de conexões MQTT antes de tomar decisões de balanceamento de carga.

Pass

Passagem de conexões aceitas diretamente para um socket de escuta configurado.

Proxy

Configuração de proxy para outros servidores.

RDP Preread

Leitura de cookies de conexões RDP antes de tomar decisões de balanceamento de carga.

RealIP

Determinação de endereço e porta do cliente quando operando atrás de outro servidor proxy.

Return

Envio de um valor especificado para o cliente na conexão sem proxy adicional.

Set

Definição de valores de variáveis especificados.

Split Clients

Criação de variáveis para testes A/B, lançamentos canário, fragmentação, e outros cenários que requerem divisão proporcional de grupos.

SSL

Terminação de protocolos SSL/TLS e DTLS.

SSL Preread

Extração de informações de mensagens ClientHello sem terminação SSL/TLS e antes de tomar decisões de balanceamento de carga.

Upstream

Configuração de grupos de servidores proxy para balanceamento de carga.

Upstream Probe

Configuração de verificações ativas de saúde para grupos de servidores proxy.

Módulos Mail#

Mail

Funcionalidade principal do servidor proxy de email.

Auth HTTP

Autenticação de usuário e seleção de servidor para proxy subsequente usando requisições HTTP para um servidor externo.

IMAP

Suporte ao protocolo IMAP.

POP3

Suporte ao protocolo POP3.

Proxy

Configuração de proxy para outros servidores.

RealIP

Determinação de endereço e porta do cliente quando operando atrás de outro servidor proxy.

SMTP

Suporte ao protocolo SMTP.

SSL

Suporte aos protocolos SSL/TLS e StartTLS.

Módulo Google PerfTools#

Google PerfTools

Responsável pela integração com a biblioteca Google Performance Tools para profiling de aplicações e análise de desempenho.

Módulos WASM#

WASM

Funcionalidade principal WASM habilitando execução de código WASM no Angie.

WAMR

Integração com WebAssembly Micro Runtime.

Wasmtime

Integração com o ambiente de execução Wasmtime.