Todos los productos
Search
Centro de documentos

API Gateway:Request block plugin

Última actualización: Sep 03, 2026

El plugin request-block bloquea las solicitudes HTTP que coinciden con patrones específicos de URL, encabezados o cuerpo. Esto le ayuda a evitar el acceso externo a recursos protegidos.

Tipo de plugin

Plugin de protección de seguridad.

Campos de configuración

Debe configurar como mínimo uno de los siguientes campos: block_urls, block_headers o block_bodys.

Campo

Tipo

Obligatorio

Predeterminado

Descripción

block_urls

array of string

No

-

Patrones de URL para comparar con las rutas y cadenas de consulta de la solicitud.

block_headers

array of string

No

-

Patrones para comparar con los nombres y valores de los encabezados de la solicitud.

block_bodys

array of string

No

-

Patrones para comparar con el contenido del cuerpo de la solicitud.

blocked_code

number

No

403

Código de estado HTTP que se devuelve a las solicitudes bloqueadas.

blocked_message

string

No

-

Cuerpo de respuesta que se devuelve a las solicitudes bloqueadas.

case_sensitive

bool

No

true

Especifica si la coincidencia distingue entre mayúsculas y minúsculas. Establezca este valor en false para que no distinga entre mayúsculas y minúsculas.

Ejemplos

Bloquear solicitudes por URL

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

Solicitudes bloqueadas:

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

Dado que case_sensitive está establecido en false, foo=Bar coincide con la regla foo=bar, y Swagger.html coincide con la regla swagger.html.

Bloquear solicitudes por encabezado

block_headers:
- example-key
- example-value

Solicitudes bloqueadas:

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

La primera solicitud coincide porque el nombre de su encabezado contiene example-key. La segunda solicitud coincide porque el valor de su encabezado contiene example-value.

Bloquear solicitudes por cuerpo

block_bodys:
- "hello world"
case_sensitive: false

Solicitudes bloqueadas:

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

Ambas solicitudes coinciden porque case_sensitive está establecido en false.

Aplicar reglas a rutas o dominios específicos

Puede definir reglas de bloqueo independientes para distintas rutas y dominios. Las reglas se evalúan en orden y se aplica la primera que coincide.

A continuación se muestra la configuración que se aplica a las rutas route-a y route-b:

block_bodys:
- "hello world"

A continuación se muestra la configuración que se aplica a los dominios *.example.com y test.com:

block_urls:
- "swagger.html"
block_bodys:
- "hello world"
Nota
  • route-a y route-b hacen referencia a las rutas especificadas al crear las rutas de la puerta de enlace. Si una solicitud del cliente coincide con alguna de estas rutas, se aplican las reglas correspondientes.

  • *.example.com y test.com coinciden con los nombres de dominio de las solicitudes. Si una solicitud del cliente coincide con alguno de estos dominios, se aplican las reglas correspondientes.

  • Las reglas se aplican en orden. Una vez que coincide la primera regla, se omiten las siguientes.

Límite de tamaño del cuerpo de la solicitud

Cuando se configura block_bodys, la comparación del cuerpo solo se aplica a solicitudes menores de 32 MB. Las solicitudes mayores de 32 MB que no coinciden con ninguna regla de block_urls o block_headers se permiten sin bloquearse.

Si se configura block_bodys y el cuerpo de la solicitud supera el valor de DownstreamConnectionBufferLimits configurado para la puerta de enlace, esta devuelve un error 413 Payload Too Large. Para aumentar este límite, ajuste DownstreamConnectionBufferLimits en la página de configuración de parámetros.

Aviso

Aumentar DownstreamConnectionBufferLimits incrementa significativamente el uso de memoria de la puerta de enlace. Ajuste este valor con precaución.