Réécrire les en-têtes de requête et de réponse HTTP avec Azure Application Gateway - Azure portal
Cet article explique comment utiliser le portail Azure pour configurer une instance de la référence SKU Azure Application Gateway v2 afin de réécrire les en-têtes HTTP dans les requêtes et les réponses.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Avant de commencer
Vous devez disposer d’une instance de la référence SKU Application Gateway v2 pour effectuer les étapes de cet article. La réécriture des en-têtes n’est pas prise en charge dans la référence SKU v1. Si vous ne disposez pas de la référence SKU v2, créez une instance de référence SKU Application Gateway v2 avant de commencer.
Créer les objets requis
Pour configurer la réécriture d’en-tête HTTP, effectuez ces étapes.
Créez les objets nécessaires à la réécriture d’un en-tête HTTP :
Action de réécriture : permet de spécifier la requête et les champs d’en-tête de requête que vous souhaitez réécrire ainsi que la nouvelle valeur des en-têtes. Vous pouvez associer une ou plusieurs conditions de réécriture à une action de réécriture.
Condition de réécriture : une configuration facultative. Les conditions de réécriture évaluent le contenu des requêtes et réponses HTTP(S). L’action de réécriture se produit si la requête ou la réponse HTTP(S) correspondent à la condition de réécriture.
Si vous associez plusieurs conditions à une action, cette dernière ne se produit que lorsque toutes les conditions sont remplies. En d’autres termes, il s’agit d’une opération
AND
logique.Règle de réécriture : contient des combinaisons de plusieurs conditions d’action/de réécriture.
Séquence de règle : permet de déterminer l’ordre dans lequel les règles de réécriture s’exécutent. Cette configuration est utile quand vous disposez de plusieurs règles de réécriture dans un jeu de réécritures. Une règle de réécriture qui présente une valeur de séquence de règle inférieure s’exécute en premier. Si vous affectez la même valeur de séquence de règle à deux règles de réécriture, l’ordre d’exécution est non déterministe.
Jeu de réécritures : contient plusieurs règles de réécriture qui seront associées à une règle de routage de requête.
Attachez le jeu de réécriture à une règle d’acheminement. La configuration de réécriture est attachée à l’écouteur source via la règle de routage.
- Quand vous utilisez une règle de routage de base, la configuration de réécriture d’en-tête est associée à un écouteur source et correspond à une réécriture d’en-tête globale.
- Quand vous utilisez une règle de routage basée sur le chemin, la configuration de réécriture d’en-tête est définie sur le mappage du chemin d’URL. Dans ce cas, elle s’applique uniquement à la zone de chemin spécifique d’un site.
Vous pouvez créer plusieurs jeux de réécritures d’en-tête HTTP et appliquer chacun d’eux à différents écouteurs. En revanche, vous ne pouvez appliquer qu’un seul jeu de réécritures à un écouteur spécifique.
Connexion à Azure
Connectez-vous au portail Azure avec votre compte Azure.
Configurer la réécriture d’un en-tête
Dans cet exemple, nous modifions une URL de redirection en réécrivant l’en-tête d’emplacement dans la réponse HTTP envoyée par une application back-end.
Sélectionnez Toutes les ressources, puis sélectionnez votre passerelle d’application.
Dans le volet du service, sélectionnez Réécritures.
Sélectionnez Jeu de réécritures.
Fournissez un nom pour le jeu de réécriture et associer-le à une règle d’acheminement :
- Dans la zone Nom, entrez le nom du jeu de réécritures.
- Dans la liste Règles de routage associées, sélectionnez une ou plusieurs règles. Sélectionnez seulement des règles qui ne sont pas déjà associées à d’autres jeux de réécritures. Les règles qui sont déjà associées à d’autres jeux de réécritures ne sont pas disponibles.
- Cliquez sur Suivant.
Créer une règle de réécriture :
Sélectionnez Ajouter une règle de réécriture.
Dans la zone Nom de la règle de réécriture, entrez un nom pour la règle. Dans la zone Séquence de règles, entrez un nombre.
Dans cet exemple, nous réécrivons l’en-tête d’emplacement seulement quand il contient une référence à
azurewebsites.net
. Pour effectuer cette étape, ajoutez une condition destinée à évaluer si l’en-tête d’emplacement de la réponse contientazurewebsites.net
:Sélectionnez Ajouter une condition, puis sélectionnez la zone contenant les instructions Si (If) pour la développer.
Dans la liste Type de variable à vérifier, sélectionnez En-tête HTTP.
Dans la liste Type d’en-tête, sélectionnez Réponse.
Sous Nom d’en-tête, sélectionnez En-tête commun. Dans cet exemple, nous évaluons l’en-tête d’emplacement, qui est un en-tête courant.
Dans la liste En-tête commun, sélectionnez Emplacement.
Sous Respect de la casse, sélectionnez Non.
Dans la liste Opérateur, sélectionnez Égal (=).
Entrez un modèle d’expression régulière. Dans cet exemple, nous utilisons le modèle
(https?):\/\/.*azurewebsites.net(.*)$
.Cliquez sur OK.
Ajoutez une action pour réécrire l’en-tête d’emplacement :
- Dans la liste type d’Action, sélectionnez Définir.
- Dans la liste Type d’en-tête, sélectionnez Réponse.
- Sous Nom d’en-tête, sélectionnez En-tête commun.
- Dans la liste En-tête commun, sélectionnez Emplacement.
- Entrez la valeur de l’en-tête. Dans cet exemple, nous utilisons
{http_resp_Location_1}://contoso.com{http_resp_Location_2}
comme valeur de l’en-tête. Cette valeur remplaceazurewebsites.net
parcontoso.com
dans l’en-tête d’emplacement. - Cliquez sur OK.
Sélectionnez Créer pour créer le jeu de réécritures.
Le volet Réécritures s’ouvre. Vérifiez que le jeu de réécritures que vous avez créé se trouve dans la liste des jeux de réécritures.
Contenu connexe
Pour découvrir plus d’informations sur la configuration de certains cas d’usage courants, consultez Scénarios de réécriture d’en-têtes courants.