Tous les produits
Search
Centre de documentation

API Gateway:Request block plugin

Dernière mise à jour :Aug 09, 2026

Le plug-in request-block bloque les requêtes HTTP correspondant à des modèles d'URL, d'en-tête ou de corps spécifiques, ce qui vous aide à empêcher l'accès externe aux ressources protégées.

Type de plug-in

Plug-in de sécurité.

Champs de configuration

Vous devez configurer au moins l'un des champs suivants : block_urls, block_headers ou block_bodys.

Champ Type Obligatoire Valeur par défaut Description
block_urls tableau de chaînes Non - Modèles d'URL à comparer aux chemins et aux chaînes de requête.
block_headers tableau de chaînes Non - Modèles à comparer aux noms et aux valeurs des en-têtes de requête.
block_bodys tableau de chaînes Non - Modèles à comparer au contenu du corps de la requête.
blocked_code nombre Non 403 Code d'état HTTP renvoyé pour les requêtes bloquées.
blocked_message chaîne Non - Corps de la réponse renvoyé pour les requêtes bloquées.
case_sensitive booléen Non true Indique si la correspondance est sensible à la casse. Définissez cette valeur sur false pour une correspondance insensible à la casse.

Exemples

Bloquer les requêtes par URL

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

Requêtes bloquées :

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

Comme case_sensitive est défini sur false, foo=Bar correspond à la règle foo=bar et Swagger.html correspond à la règle swagger.html.

Bloquer les requêtes par en-tête

block_headers:
- example-key
- example-value

Requêtes bloquées :

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

La première requête correspond car le nom de son en-tête contient example-key. La seconde correspond car la valeur de son en-tête contient example-value.

Bloquer les requêtes par corps

block_bodys:
- "hello world"
case_sensitive: false

Requêtes bloquées :

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

Les deux requêtes correspondent car case_sensitive est défini sur false.

Appliquer des règles à des routes ou des domaines spécifiques

Définissez des règles de blocage distinctes pour différentes routes et domaines. Les règles sont évaluées dans l'ordre ; la première règle correspondante s'applique.

La configuration suivante s'applique aux routes route-a et route-b :

block_bodys:
- "hello world"

La configuration suivante s'applique aux domaines *.example.com et test.com :

block_urls:
- "swagger.html"
block_bodys:
- "hello world"
Remarque
  • route-a et route-b désignent les routes spécifiées lors de la création des routes de passerelle. Si une requête client correspond à l'une de ces routes, les règles associées s'appliquent.

  • *.example.com et test.com correspondent aux noms de domaine présents dans les requêtes. Si une requête client correspond à l'un de ces domaines, les règles associées s'appliquent.

  • Les règles s'appliquent dans l'ordre. Une fois la première règle correspondante appliquée, les règles suivantes sont ignorées.

Limite de taille du corps de la requête

Lorsque block_bodys est configuré, la correspondance du corps ne s'applique qu'aux requêtes de moins de 32 Mo. Les requêtes de plus de 32 Mo qui ne correspondent à aucune règle block_urls ou block_headers sont autorisées.

Si block_bodys est configuré et que le corps de la requête dépasse la valeur DownstreamConnectionBufferLimits configurée pour la passerelle, celle-ci renvoie une erreur 413 Payload Too Large. Pour augmenter cette limite, ajustez le paramètre DownstreamConnectionBufferLimits sur la page de configuration des paramètres.

Avertissement

L'augmentation de la valeur DownstreamConnectionBufferLimits accroît considérablement l'utilisation de la mémoire de la passerelle. Ajustez cette valeur avec précaution.