Todos os produtos
Search
Central de documentação

API Gateway:Request block plugin

Última atualização: Jun 27, 2026

O plugin request-block bloqueia requisições HTTP correspondentes a padrões específicos de URL, cabeçalho ou corpo para impedir o acesso externo a recursos protegidos.

Tipo de plugin

Plugin de proteção de segurança.

Campos de configuração

Configure pelo menos um dos seguintes campos: block_urls, block_headers ou block_bodys.

Campo

Tipo

Obrigatório

Padrão

Descrição

block_urls

array of string

Não

-

Padrões de URL para corresponder aos caminhos da requisição e strings de consulta.

block_headers

array of string

Não

-

Padrões para corresponder aos nomes e valores dos cabeçalhos da requisição.

block_bodys

array of string

Não

-

Padrões para corresponder ao conteúdo do corpo da requisição.

blocked_code

number

Não

403

Código de status HTTP retornado nas requisições bloqueadas.

blocked_message

string

Não

-

Corpo da resposta retornado nas requisições bloqueadas.

case_sensitive

bool

Não

true

Define se a correspondência diferencia maiúsculas de minúsculas. Defina como false para ignorar essa distinção.

Exemplos

Bloquear requisições por URL

block_urls:
- swagger.html
- foo=bar
case_sensitive: false

Requisições bloqueadas:

curl http://example.com?foo=Bar
curl http://example.com/Swagger.html

Como case_sensitive está definido como false, foo=Bar corresponde à regra foo=bar e Swagger.html corresponde à regra swagger.html.

Bloquear requisições por cabeçalho

block_headers:
- example-key
- example-value

Requisições bloqueadas:

curl http://example.com -H 'example-key: 123'
curl http://example.com -H 'my-header: example-value'

A primeira requisição corresponde porque o nome do cabeçalho contém example-key. A segunda corresponde porque o valor do cabeçalho contém example-value.

Bloquear requisições por corpo

block_bodys:
- "hello world"
case_sensitive: false

Requisições bloqueadas:

curl http://example.com -d 'Hello World'
curl http://example.com -d 'hello world'

Ambas as requisições correspondem porque case_sensitive está definido como false.

Aplicar regras a rotas ou domínios específicos

Defina regras de bloqueio distintas para diferentes rotas e domínios. O sistema avalia as regras em ordem e aplica a primeira correspondência encontrada.

A configuração abaixo aplica-se às rotas route-a e route-b:

block_bodys:
- "hello world"

A configuração abaixo aplica-se aos domínios *.example.com e test.com:

block_urls:
- "swagger.html"
block_bodys:
- "hello world"
Nota
  • route-a e route-b referem-se às rotas especificadas durante a criação das rotas do gateway. As regras associadas entram em vigor se uma requisição de cliente corresponder a uma dessas rotas.

  • *.example.com e test.com correspondem aos nomes de domínio nas requisições. As regras associadas entram em vigor se uma requisição de cliente corresponder a um desses domínios.

  • As regras são aplicadas sequencialmente. Após a primeira correspondência, o sistema ignora as regras subsequentes.

Limite de tamanho do corpo da requisição

Com block_bodys configurado, a correspondência de corpo restringe-se a requisições menores que 32 MB. Requisições maiores que 32 MB sem correspondência nas regras de block_urls ou block_headers são permitidas sem bloqueio.

Se block_bodys estiver configurado e o corpo da requisição exceder o valor de DownstreamConnectionBufferLimits do gateway, o sistema retornará o erro 413 Payload Too Large. Para aumentar esse limite, ajuste DownstreamConnectionBufferLimits na página de configuração de parâmetros.

Aviso

Aumentar DownstreamConnectionBufferLimits eleva significativamente o uso de memória do gateway. Ajuste esse valor com cautela.