Les politiques de modification d'en-tête permettent d'ajouter, de mettre à jour ou de supprimer des en-têtes dans les requêtes avant qu'elles n'atteignent les services backend, ou dans les réponses avant leur renvoi aux clients.
Procédure
-
Cloud-native API Gateway propose deux méthodes pour configurer une politique de modification d'en-tête :
APIs outside instances
Connectez-vous à la console API Gateway. Dans le volet de navigation de gauche, cliquez sur API. Dans la barre de navigation supérieure, sélectionnez une région.
Cliquez sur l'API cible. Dans la liste déroulante, sélectionnez l'instance pour laquelle vous souhaitez configurer la politique, ou sélectionnez All instances.
Sous l'onglet Routes, sélectionnez la route cible.
APIs within an instance
Connectez-vous à la console API Gateway. Dans le volet de navigation de gauche, cliquez sur Instance. Dans la barre de navigation supérieure, sélectionnez une région.
Sur la page Instance, cliquez sur l'ID de l'instance de passerelle cible. Dans le volet de navigation de gauche, cliquez sur API, puis sur l'API cible.
Sous l'onglet Routes, sélectionnez la route cible.
Cliquez sur l'onglet Configure Policy, puis sur Enable Policy/Plug-in sous Inbound Processing ou Outbound Processing.
-
Cliquez sur la carte Edit Header. Dans le panneau Add Policy: Edit Header, configurez les paramètres et cliquez sur Add.
Paramètre
Description
Enable
-
Enable : applique la politique de modification d'en-tête aux requêtes et aux réponses.
-
Disable : n'applique pas la politique de modification d'en-tête.
Header Type
Type d'en-tête à modifier. Valeurs valides : Request et Response.
-
Request : la politique s'applique aux en-têtes de requête.
-
Response : la politique s'applique aux en-têtes de réponse.
Operation Type
Opération à effectuer sur l'en-tête. Valeurs valides : Add, Modify et Delete.
-
Add : ajoute un en-tête à la requête ou à la réponse.
RemarqueSi l'en-tête spécifié existe déjà, cette opération ajoute la nouvelle valeur à la valeur existante, en les séparant par une virgule (,).
-
Modify : modifie un en-tête spécifié dans la requête ou la réponse.
Remarque-
Si l'en-tête spécifié n'existe pas, cette opération ajoute un nouvel en-tête avec la clé et la valeur indiquées.
-
Si l'en-tête spécifié existe, cette opération écrase sa valeur.
-
-
Delete : supprime un en-tête spécifié de la requête ou de la réponse.
Header Key
Nom de l'en-tête à ajouter, modifier ou supprimer.
Header Value
Valeur de l'en-tête.
-
Vérifier le résultat
L'exemple suivant ajoute un en-tête de réponse test:demo. Remplacez les valeurs par les vôtres.
Exécutez la commande suivante pour tester la configuration :
curl -I http://121.196.XX.XX/demo/item/list // Replace with your gateway's ingress IP address
La réponse contient l'en-tête test:demo :
HTTP/1.1 200 OK
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
cache-control: no-cache, no-store, max-age=0, must-revalidate
pragma: no-cache
expires: 0
x-frame-options: DENY
content-type: application/json
content-length: 86
date: Tue, 30 Nov 2021 03:03:04 GMT
x-envoy-upstream-service-time: 4
test: demo
server: istio-envoy