Opções de configuração para o nó Wallarm baseado em NGINX¶
Saiba mais sobre as opções de ajuste fino disponíveis para os módulos NGINX da Wallarm para obter o máximo da solução Wallarm.
Documentação oficial do NGINX
A configuração Wallarm é muito semelhante à configuração NGINX. Veja a documentação oficial do NGINX. Junto com as opções de configuração específicas da Wallarm, você tem as capacidades completas da configuração NGINX.
Diretivas Wallarm¶
disable_acl¶
Permite a desativação da análise de origens de solicitações. Se desativado (on
), o nó de filtragem não baixa listas de IP do Wallarm Cloud e pula a análise de IPs de origem de solicitação.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
O valor padrão é off
.
wallarm_acl_access_phase¶
A diretiva obriga o nó Wallarm baseado em NGINX a bloquear solicitações originadas de IPs na lista de negação na fase de acesso NGINX, o que significa:
-
Com
wallarm_acl_access_phase on
, o nó Wallarm bloqueia imediatamente quaisquer solicitações de IPs na lista de negação em qualquer modo de filtração e não procura sinais de ataque em solicitações de IPs na lista de negação.Este é o valor padrão e recomendado pois faz as listas de negação funcionarem de maneira padrão e reduz significativamente a carga da CPU do nó.
-
Com
wallarm_acl_access_phase off
, o nó Wallarm analisa primeiro os sinais de ataque nas solicitações e então, se operando no modoblock
ousafe_blocking
, bloqueia solicitações originadas de IPs na lista de negação.No modo de filtração
off
, o nó não analisa solicitações e não verifica listas de negação.No modo de filtração
monitoring
, o nó procura sinais de ataque em todas as solicitações, mas nunca bloqueia, mesmo se o IP de origem estiver na lista de negação.O comportamento do nó Wallarm com
wallarm_acl_access_phase off
aumenta significativamente a carga da CPU do nó.
Valor padrão e interação com outras diretrizes
Valor padrão: on
(a partir do nó Wallarm 4.2)
A diretiva só pode ser definida dentro do bloco http do arquivo de configuração do NGINX.
- Com
disable_acl on
, as listas de IP não são processadas e a ativaçãowallarm_acl_access_phase
não faz sentido. - A diretiva
wallarm_acl_access_phase
tem prioridade sobrewallarm_mode
que resulta no bloqueio de solicitações de IPs na lista de negação, mesmo que o modo de filtragem do nó sejaoff
oumonitoring
(comwallarm_acl_access_phase on
).
wallarm_acl_export_enable¶
A diretiva habilita on
/desabilita off
o envio de estatísticas sobre as solicitações dos IPs na lista de negação do nó para a Nuvem.
-
Com
wallarm_acl_export_enable on
, as estatísticas sobre as solicitações dos IPs na lista de negação serão exibidas na seção Eventos. -
Com
wallarm_acl_export_enable off
, as estatísticas sobre as solicitações dos IPs na lista de negação não serão exibidas.
Info
Este parâmetro é definido dentro do bloco http.
Valor padrão: on
.
wallarm_api_conf¶
Um caminho para o arquivo node.yaml
, que contém requisitos de acesso para a API Wallarm.
Exemplo:
Usado para enviar solicitações serializadas do nó de filtragem diretamente para a API Wallarm (Cloud) em vez de fazer o upload para o módulo postanalytics (Tarantool).
Apenas solicitações com ataques são enviadas para a API. As solicitações sem ataques não são salvas.
Exemplo do conteúdo do arquivo node.yaml:
# Credenciais de conexão com a API
hostname: <algum nome>
uuid: <algum uuid>
secret: <algum secret>
# Parâmetros de conexão com a API (os parâmetros abaixo são usados por padrão)
api:
host: api.wallarm.com
port: 443
ca_verify: true
wallarm_application¶
Identificador único da aplicação protegida a ser usado na Wallarm Cloud. O valor pode ser um número inteiro positivo, exceto 0
.
Identificadores únicos podem ser definidos tanto para os domínios da aplicação quanto para os caminhos do domínio, por exemplo:
Arquivo de configuração para o domínio exemplo.com:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;
...
wallarm_mode monitoring;
wallarm_application 1;
location / {
proxy_pass http://exemplo.com;
include proxy_params;
}
}
Arquivo de configuração para o domínio teste.com:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;
...
wallarm_mode monitoring;
location /login {
proxy_pass http://exemplo.com/login;
include proxy_params;
wallarm_application 3;
}
location /users {
proxy_pass http://exemplo.com/users;
include proxy_params;
wallarm_application 4;
}
}
Mais detalhes sobre a configuração de aplicações →
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: -1
.
wallarm_block_page¶
Permite a configuração da resposta à solicitação bloqueada.
Mais detalhes sobre a configuração de página e código de erro de bloqueio →
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
wallarm_block_page_add_dynamic_path¶
Esta diretiva é usada para inicializar a página de bloqueio que possui variáveis NGINX em seu código e o caminho para esta página de bloqueio também é definido usando uma variável. Caso contrário, a diretiva não é usada.
Mais detalhes sobre a configuração de página e código de erro de bloqueio →
Info
A diretiva pode ser configurada dentro do bloco http
do arquivo de configuração do NGINX.
wallarm_cache_path¶
Um diretório em que o catálogo de backup para o armazenamento de cópia do arquivo proton.db e o arquivo de regras personalizado é criado ao inicializar o servidor. Este diretório deve ser gravável para o cliente que executa o NGINX.
Info
Este parâmetro é configurado apenas no bloco http.
wallarm_custom_ruleset_path¶
Um caminho para o arquivo conjunto de regras personalizado que contém informações sobre a estrutura da aplicação protegida e as configurações do nó de filtragem.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: /etc/wallarm/custom_ruleset
wallarm_enable_libdetection¶
Ativa/desativa a validação adicional dos ataques de injeção de SQL por meio da biblioteca libdetection. O uso de libdetection garante a detecção dupla de ataques e reduz o número de falsos positivos.
A análise de solicitações com a biblioteca libdetection é habilitada por padrão em todas as opções de implementação. Para reduzir o número de falsos positivos, recomendamos que a análise permaneça habilitada.
Mais detalhes sobre libdetection →
Aumento do consumo de memória
Ao analisar ataques usando a biblioteca libdetection, a quantidade de memória consumida pelos processos NGINX e Wallarm pode aumentar cerca de 10%.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
O valor padrão é on
para todas as opções de implementação.
wallarm_fallback¶
Com o valor definido como on
, o NGINX tem a habilidade de entrar em um modo de emergência; se o proton.db ou o conjunto de regras personalizado não puderem ser baixados, esta configuração desabilita o módulo Wallarm para os blocos http, server e location, para os quais os dados não conseguem ser baixados. O NGINX continua funcionando.
Info
Valor padrão é on
.
Este parâmetro pode ser definido dentro dos blocos http, server e location.
wallarm_force¶
Define a análise das solicitações e a geração de regras personalizadas com base no tráfego espelhado do NGINX. Veja Analisando tráfego espelhado com NGINX.
wallarm_general_ruleset_memory_limit¶
Define um limite para a quantidade máxima de memória que pode ser usada por uma instância do proton.db e um arquivo de conjunto de regras personalizadas.
Se o limite de memória for excedido durante o processamento de alguma solicitação, o usuário receberá um erro 500.
Os seguintes sufixos podem ser usados neste parâmetro:
-
k
ouK
para kilobytes -
m
ouM
para megabytes -
g
ouG
para gigabytes
Um valor de 0 desativa o limite.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e/ou location.
Valor padrão: 1
GB
wallarm_global_trainingset_path¶
A diretiva está obsoleta
A partir do nó Wallarm 3.6, por favor use a diretiva wallarm_protondb_path
. Basta mudar o nome da diretiva, a lógica não mudou.
wallarm_file_check_interval¶
Define um intervalo entre verificar novos dados no proton.db e no arquivo de conjunto de regras personalizadas. A unidade de medida é especificada no sufixo conforme abaixo:
-
sem sufixo para minutos
-
s
para segundos -
ms
para milissegundos
Info
Este parâmetro é configurado apenas dentro do bloco http.
Valor padrão: 1
(um minuto)
wallarm_instance¶
A diretiva está obsoleta
- Se a diretiva era usada para definir o identificador único da aplicação protegida, basta renomeá-la para
wallarm_application
. - Para definir o identificador único do inquilino para os nós multi-inquilino, em vez de
wallarm_instance
, use a diretivawallarm_partner_client_uuid
.
Ao atualizar a configuração que você usava para seu nó de filtragem da versão anterior ao 4.0:
- Se você atualizar o nó de filtragem sem o recurso de multilocação e tiver alguma
wallarm_instance
usada para definir o identificador único da aplicação protegida, basta renomeá-la parawallarm_application
. - Se você atualizar o nó de filtragem com recurso de multilocação, considere todos
wallarm_instance
comowallarm_application
, então reescreva a configuração conforme descrito na instrução de reconfiguração de multilocação.
wallarm_key_path¶
Um caminho para a chave privada Wallarm usada para encriptação/descriptografia dos arquivos proton.db e conjunto de regras personalizadas.
Info
Valor padrão: /etc/wallarm/private.key
(no nó Wallarm 3.6 e inferiores, /etc/wallarm/license.key
)
wallarm_local_trainingset_path¶
A diretiva está obsoleta
A partir do nó Wallarm 3.6, por favor use a diretiva wallarm_custom_ruleset_path
. Basta mudar o nome da diretiva, a lógica não mudou.
wallarm_mode¶
Modo de processamento de tráfego:
-
off
-
monitoring
-
safe_blocking
-
block
Comportamento do nó Wallarm | off | monitoramento | bloqueio_seguro | bloquear |
---|---|---|---|---|
Analisa se as solicitações de entrada contêm cargas maliciosas dos seguintes tipos: ataques de validação de entrada, ataques vpatch, ou ataques detectados com base em expressões regulares | - | + | + | + |
Envia solicitações maliciosas para a Nuvem Wallarm para que sejam exibidas na lista de eventos | - | + | + | + |
Bloqueia solicitações maliciosas | - | - | Apenas aquelas originadas de IPs na lista cinza | + |
Bloqueia solicitações originadas de IPs na lista de negaçãoveja exceções | + | + | + | + |
Bloqueia solicitações originadas de IPs na lista cinza | Não analisa a lista cinza | - | Apenas aquelas contendo cargas maliciosas | Não analisa a lista cinza |
Permite solicitações originadas de IPs na lista de permissão | + | + | + | + |
Exceções
Se wallarm_acl_access_phase off
, o nó Wallarm não analisa a lista de negação no modo off
e não bloqueia solicitações de IPs na lista de negação no modo monitoramento
.
A utilização de wallarm_mode
pode ser restrita pela diretiva wallarm_mode_allow_override
.
Instruções detalhadas sobre a configuração do modo de filtração →
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão depende do método de implementação do nó de filtragem (pode ser off
ou monitoring
)
wallarm_mode_allow_override¶
Gerencia a habilidade de substituir os valores de wallarm_mode
via regras de filtragem baixadas da Wallarm Cloud (conjunto de regras personalizadas):
off
- as regras personalizadas são ignoradas.strict
- regras personalizadas só podem fortalecer o modo de operação.on
- é possível fortalecer e suavizar o modo de operação.
Por exemplo, com wallarm_mode monitoring
e wallarm_mode_allow_override strict
configurados, o Wallarm Console pode ser usado para habilitar o bloqueio de algumas solicitações, mas a análise de ataques não pode ser totalmente desativada.
Instruções detalhadas sobre a configuração do modo de filtração →
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: on
wallarm_parse_response¶
Se analisar ou não as respostas da aplicação. A análise de resposta é necessária para a detecção de vulnerabilidades durante a detecção passiva e verificação ativa de ameaças.
Os possíveis valores são on
(a análise da resposta está habilitada) e off
(a análise da resposta está desabilitada).
Info
Este parâmetro pode ser definido nos blocos http, server e location.
Valor padrão: on
Melhore o desempenho
Recomendamos que você desabilite o processamento de arquivos estáticos através do location
para melhorar o desempenho.
wallarm_parse_websocket
¶
O Wallarm oferece suporte total ao WebSockets sob o plano de assinatura API Security. Por padrão, as mensagens do WebSockets não são analisadas quanto a ataques.
Para forçar o recurso, ative o plano de assinatura API Security e use a diretiva wallarm_parse_websocket
.
Possíveis valores:
on
: a análise de mensagens está habilitada.off
: a análise de mensagens está desabilitada.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: off
wallarm_parser_disable¶
Permite a desativação de parsers. Os valores de diretiva correspondem ao nome do parser a ser desativado:
cookie
zlib
htmljs
json
multipart
base64
percent
urlenc
xml
jwt
Exemplo
wallarm_parser_disable base64;
wallarm_parser_disable xml;
location /ab {
wallarm_parser_disable json;
wallarm_parser_disable base64;
proxy_pass http://exemplo.com;
}
location /zy {
wallarm_parser_disable json;
proxy_pass http://exemplo.com;
}
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
wallarm_parse_html_response¶
Se aplicar ou não os parsers HTML ao código HTML recebido na resposta da aplicação. Os possíveis valores são on
(o parser HTML é aplicado) e off
(o parser HTML não é aplicado).
Este parâmetro só é efetivo se wallarm_parse_response on
.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: on
wallarm_partner_client_uuid¶
Identificador único do inquilino para o nó Wallarm multi-inquilino. O valor deve ser uma string no formato UUID, por exemplo:
-
11111111-1111-1111-1111-111111111111
-
123e4567-e89b-12d3-a456-426614174000
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Saiba como:
Exemplo de configuração:
server {
server_name inquilino1.com;
wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111;
...
location /login {
wallarm_application 21;
...
}
location /users {
wallarm_application 22;
...
}
server {
server_name inquilino1-1.com;
wallarm_partner_client_uuid 11111111-1111-1111-1111-111111111111;
wallarm_application 23;
...
}
server {
server_name inquilino2.com;
wallarm_partner_client_uuid 22222222-2222-2222-2222-222222222222;
...
}
...
}
Na configuração acima:
-
O Inquilino é o cliente do parceiro. O parceiro tem 2 clientes.
-
O tráfego direcionado para
inquilino1.com
einquilino1-1.com
será associado ao cliente11111111-1111-1111-1111-111111111111
. -
O tráfego direcionado para
inquilino2.com
será associado ao cliente22222222-2222-2222-2222-222222222222
. -
O primeiro cliente também possui 3 aplicativos, especificados via a diretiva
wallarm_application
:inquilino1.com/login
-wallarm_application 21
inquilino1.com/users
-wallarm_application 22
inquilino1-1.com
-wallarm_application 23
O tráfego direcionado a esses 3 caminhos será associado à aplicação correspondente, e o restante será o tráfego genérico do primeiro cliente.
wallarm_process_time_limit¶
A diretiva está obsoleta
A partir da versão 3.6, é recomendado afinar a detecção de ataque overlimit_res
usando a regra Fine-tune the overlimit_res attack detection.
A diretiva wallarm_process_time_limit
está temporariamente suportada, mas será removida em futuras versões.
Configura o limite de tempo para o processamento de uma única solicitação pelo nó Wallarm.
Se o tempo exceder o limite, será registrado um erro no log e o pedido será marcado como o ataque overlimit_res
. Dependendo do valor de wallarm_process_time_limit_block
, o ataque pode ser bloqueado, monitorado ou ignorado.
O valor é especificado em milissegundos sem unidades, por exemplo:
wallarm_process_time_limit 1200; # 1200 milissegundos
wallarm_process_time_limit 2000; # 2000 milissegundos
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: 1000ms (um segundo).
wallarm_process_time_limit_block¶
A diretiva está obsoleta
A partir da versão 3.6, é recomendado afinar a detecção de ataque overlimit_res
usando a regra Fine-tune the overlimit_res attack detection.
A diretiva wallarm_process_time_limit_block
está temporariamente suportada, mas será removida em futuras versões.
A capacidade de gerenciar o bloqueio de solicitações, que excedem o limite de tempo definido na diretiva wallarm_process_time_limit
:
on
: as solicitações são sempre bloqueadas a menos quewallarm_mode off
-
off
: as solicitações são sempre ignoradasRisco de contornar a proteção
O valor
off
deve ser usado com cuidado, pois este valor desabilita a proteção contra ataquesoverlimit_res
.É recomendado usar o valor
off
apenas nas localizações estritamente específicas onde é realmente necessário, por exemplo, onde o upload de arquivos grandes é realizado e onde não há risco de contornar a proteção e explorar a vulnerabilidade.É fortemente recomendado não definir
wallarm_process_time_limit_block
paraoff
globalmente para blocos http ou server. -
attack
: depende do modo de bloqueio de ataque definido na diretivawallarm_mode
:off
: as solicitações não são processadas.monitoring
: as solicitações são ignoradas, mas os detalhes sobre os ataquesoverlimit_res
são enviados para a Wallarm Cloud e exibidos no Wallarm Console.safe_blocking
: apenas solicitações originárias de endereços IP na lista cinza são bloqueadas e os detalhes sobre todos os ataquesoverlimit_res
são enviados para a Wallarm Cloud e exibidos no Wallarm Console.block
: as solicitações são bloqueadas.
Independentemente do valor da diretiva, solicitações do tipo de ataque overlimit_res
são enviadas para a Wallarm Cloud, exceto quando wallarm_mode off;
.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: wallarm_process_time_limit_block attack
wallarm_protondb_path¶
Um caminho para o arquivo proton.db que possui as configurações globais para a filtragem de solicitações, que não dependem da estrutura da aplicação.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: /etc/wallarm/proton.db
wallarm_rate_limit¶
Configura a limitação de taxa no seguinte formato:
-
KEY_TO_MEASURE_LIMITS_FOR
- uma chave que deseja medir os limites. Pode conter texto, variáveis NGINX e sua combinação.Por exemplo:
"$remote_addr +location_name"
para limitar solicitações originadas do mesmo IP e direcionadas ao endpoint/login
. -
rate=<RATE>
(obrigatório) - limite de taxa, pode serrate=<número>r/s
ourate=<número>r/m
. -
burst=<BURST>
(opcional) - número máximo de solicitações excessivas a serem armazenadas em buffer assim que o RPS/RPM especificado for excedido e a serem processadas assim que a taxa voltar ao normal.0
por padrão. -
delay=<DELAY>
- se o valor<BURST>
for diferente de0
, você pode controlar se manterá o RPS/RPM definido entre a execução das solicitações excessivas em buffer.nodelay
aponta para o processamento simultâneo de todas as solicitações excessivas em buffer, sem o atraso do limite de taxa. Valor numérico implica o processamento simultâneo do número especificado de solicitações excessivas, outras são processadas com atraso definido em RPS/RPM.
Exemplo:
Info
Valor padrão: none.
Este parâmetro pode ser definido dentro dos contextos http, server e location.
Se você definir a regra de limitação de taxa, a diretiva wallarm_rate_limit
terá uma prioridade inferior.
wallarm_rate_limit_enabled¶
Habilita/desabilita a limitação de taxa Wallarm.
Se off
, a regra de limitação de taxa (recomendada) e a diretiva wallarm_rate_limit
não funcionam.
Info
Valor padrão: on
mas a limitação de taxa Wallarm não funciona sem a regra de limitação de taxa (recomendada) ou a diretiva wallarm_rate_limit
configurada.
wallarm_rate_limit_log_level¶
O nível para o registro das solicitações rejeitadas pelo controle de limitação de taxa. Pode ser: info
, notice
, warn
, error
.
Info
Valor padrão: error
.
Este parâmetro pode ser definido dentro dos contextos http, server e location.
wallarm_rate_limit_status_code¶
Código para retornar em resposta às solicitações rejeitadas pelo módulo de limitação de taxa da Wallarm.
Info
Valor padrão: 503
.
Este parâmetro pode ser definido dentro dos contextos http, server e location.
wallarm_rate_limit_shm_size¶
Define a quantidade máxima de memória compartilhada que o módulo de limitação de taxa da Wallarm pode consumir.
Com um comprimento médio de chave de 64 bytes (caracteres), e wallarm_rate_limit_shm_size
de 64MB, o módulo pode lidar com cerca de 130.000 chaves únicas simultaneamente. Aumentando a memória por dois, dobra a capacidade do módulo de maneira linear.
Uma chave é um valor único de um ponto de solicitação que o módulo usa para medir limites. Por exemplo, se o módulo está limitando conexões com base em endereços IP, cada endereço IP único é considerado uma única chave. Com o valor de diretiva padrão, o módulo pode processar solicitações originadas de ~130.000 IPs diferentes simultaneamente.
Info
Valor padrão: 64m
(64 MB).
Este parâmetro pode ser definido apenas no contexto http.
wallarm_request_chunk_size¶
Limita o tamanho da parte da solicitação que é processada durante uma iteração. Você pode configurar um valor personalizado para a diretiva wallarm_request_chunk_size
em bytes, atribuindo um número inteiro a ela. A diretiva também aceita os seguintes sufixos:
-
k
ouK
para kilobytes -
m
ouM
para megabytes -
g
ouG
para gigabytes
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: 8k
(8 kilobytes).
wallarm_request_memory_limit¶
Define um limite para a quantidade máxima de memória que pode ser usada para o processamento de uma única solicitação.
Se o limiar for ultrapassado, o processamento da solicitação será interrompido e o usuário receberá um erro 500.
Os seguintes sufixos podem ser usados neste parâmetro:
-
k
ouK
para kilobytes -
m
ouM
para megabytes -
g
ouG
para gigabytes
Um valor de 0
desativa o limite.
Por padrão, os limites estão desativados.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e/ou location.
wallarm_stalled_worker_timeout¶
Define um limite de tempo para um único processamento de solicitação para um worker NGINX em segundos.
Se o tempo ultrapassar o limite, os dados sobre os trabalhadores NGINX serão gravados nos parâmetros de estatística stalled_workers_count
e stalled_workers
.
Info
Este parâmetro pode ser definido dentro dos blocos http, server e location.
Valor padrão: 5
(cinco segundos)
wallarm_status¶
Controla a operação do serviço de estatísticas Wallarm.
O valor da diretiva tem o seguinte formato:
É altamente recomendado configurar o serviço de estatísticas em um arquivo de configuração separado /etc/nginx/conf.d/wallarm-status.conf
e não usar a diretiva wallarm_status
em outros arquivos que você usa ao configurar o NGINX, porque este último pode ser inseguro.
Além disso, é fortemente recomendado não alterar nenhuma das linhas existentes da configuração wallarm-status
padrão, pois isso pode corromper o processo de envio de dados de métrica para a nuvem Wallarm.
Info
A diretiva pode ser configurada no contexto NGINX de server
e/ou location
.
O parâmetro format
tem o valor json
por padrão.
wallarm_tarantool_upstream¶
Com o wallarm_tarantool_upstream
, você pode equilibrar as solicitações entre vários servidores postanalytics.
Exemplo:
upstream wallarm_tarantool {
server 127.0.0.1:3313 max_fails=0 fail_timeout=0 max_conns=1;
keepalive 1;
}
# omitido
wallarm_tarantool_upstream wallarm_tarantool;
Confira também Module ngx_http_upstream_module.
Condições necessárias
É necessário que as seguintes condições sejam satisfeitas para os parâmetros max_conns
e keepalive
:
- O valor do parâmetro
keepalive
não deve ser menor que o número de servidores Tarantool. - O valor do parâmetro
max_conns
deve ser especificado para cada um dos servidores upstream do Tarantool para evitar a criação de conexões excessivas.
Info
O parâmetro é configurado apenas dentro do bloco http.
wallarm_timeslice¶
Um limite no tempo que um nó de filtragem gasta em uma iteração de processamento de uma solicitação antes de mudar para a próxima solicitação. Ao atingir o limite de tempo, o nó de filtragem procede ao processamento da próxima solicitação na fila. Após realizar uma iteração em cada uma das solicitações na fila, o nó realiza a segunda iteração de processamento na primeira solicitação da fila.
Você pode usar sufixos de intervalos de tempo que estão descritos na documentação NGINX para atribuir diferentes valores de unidade de tempo à diretiva.
Info
Este parâmetro pode ser definido dentro dos blocos http, server, e location.
Valor padrão: 0
(limite de tempo para uma única iteração está desativado).
Warning
Devido às limitações do servidor NGINX, é necessário desativar a solicitação de buffering, atribuindo o valor off
para a diretiva NGINX proxy_request_buffering
para que a diretiva wallarm_timeslice
funcione.
wallarm_ts_request_memory_limit¶
A diretiva está obsoleta
A partir do nó Wallarm 4.0, por favor use a diretiva wallarm_general_ruleset_memory_limit
. Basta mudar o nome da diretiva, a lógica não mudou.
wallarm_unpack_response¶
Se descompactar ou não os dados compactados retornados na resposta da aplicação. Os possíveis valores são on
(a descompactação está habilitada) e off
(a descompactação está desativada).
Este parâmetro só é efetivo se wallarm_parse_response on
.
Info
Valor padrão: on
.
wallarm_upstream_backend¶
Um método para envio de solicitações serializadas. As solicitações podem ser enviadas para Tarantool ou para a API.
Possíveis valores de diretiva:
-
tarantool
-
api
Dependendo das outras diretivas, o valor padrão será atribuído da seguinte forma:
-
tarantool
- se não houver diretivawallarm_api_conf
na configuração. -
api
- se houver uma diretivawallarm_api_conf
, mas não houver diretivawallarm_tarantool_upstream
na configuração.Note
Se as diretivas
wallarm_api_conf
ewallarm_tarantool_upstream
estiverem presentes simultaneamente na configuração, ocorrerá um erro de configuração do formulário diretiva ambígua do backend upstream wallarm.
Info
Este parâmetro só pode ser definido dentro do bloco http.
wallarm_upstream_connect_attempts¶
Define o número de reconexões imediatas para o Tarantool ou Wallarm API.
Se uma conexão com o Tarantool ou API for encerrada, a tentativa de reconexão não ocorrerá. No entanto, isso não ocorre quando não há mais conexões e a fila de solicitações serializadas não está vazia.
Note
A reconexão pode ocorrer por meio de outro servidor, porque o subsistema "upstream" é responsável pela escolha do servidor.
Este parâmetro pode ser definido dentro do bloco http.
wallarm_upstream_reconnect_interval¶
Define o intervalo entre tentativas de reconexão para o Tarantool ou Wallarm API após o número de tentativas malsucedidas exceder o limite wallarm_upstream_connect_attempts
.
Info
Este parâmetro pode ser definido dentro do bloco http.
wallarm_upstream_connect_timeout¶
Define um tempo limite para a conexão com o Tarantool ou Wallarm API.
Info
Este parâmetro pode ser definido dentro do bloco http.
wallarm_upstream_queue_limit¶
Define um limite para o número de solicitações serializadas.
Definir simultaneamente o parâmetro wallarm_upstream_queue_limit
e não definir o parâmetro wallarm_upstream_queue_memory_limit
significa que não haverá limite para este último.
Info
Este parâmetro pode ser definido dentro do bloco http.
wallarm_upstream_queue_memory_limit¶
Define um limite para o volume total de solicitações serializadas.
Definir simultaneamente o parâmetro wallarm_upstream_queue_memory_limit
e não definir o parâmetro wallarm_upstream_queue_limit
significa que não haverá limite para este último.
Info
Valor padrão: 100m
.
Este parâmetro pode ser definido dentro do bloco http.