Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Transformations pour les règles de l'auditeur
Une transformation de règle réécrit les demandes entrantes avant qu'elles ne soient acheminées vers des cibles. La réécriture d'une demande ne modifie pas la décision de routage prise lors de l'évaluation des conditions des règles. Cela est utile lorsque les clients envoient une URL ou un en-tête d'hôte différent de celui attendu par les cibles.
L'utilisation de transformations de règles décharge l'équilibreur de charge de la responsabilité de modifier les chemins, les chaînes de requête et les en-têtes d'hôte. Il n'est donc plus nécessaire d'ajouter une logique de modification personnalisée au code de votre application ou de faire appel à un proxy tiers pour effectuer les modifications.
Les équilibreurs de charge d'application prennent en charge les transformations suivantes pour les règles d'écoute.
Transforme
host-header-rewrite-
Réécrit l'en-tête de l'hôte dans la demande. La transformation utilise une expression régulière pour correspondre à un modèle dans l'en-tête de l'hôte, puis le remplace par une chaîne de remplacement.
url-rewrite-
Réécrit l'URL de la demande. La transformation utilise une expression régulière pour correspondre à un modèle dans l'URL de demande, puis le remplace par une chaîne de remplacement.
Les bases de la transformation
-
Vous pouvez ajouter une transformation de réécriture d'en-tête d'hôte et une transformation de réécriture d'URL par règle.
-
Vous ne pouvez pas ajouter de transformation à une règle par défaut.
-
S'il n'y a aucune correspondance de modèle, la demande d'origine est envoyée à la cible.
-
Si un modèle correspond mais que la transformation échoue, nous renvoyons une erreur HTTP 500.
Transformations de réécriture de l'en-tête de l'hôte
Vous pouvez modifier le nom de domaine indiqué dans l'en-tête de l'hôte.
Exemple de transformation d'en-tête d'hôte
Vous pouvez spécifier une transformation lorsque vous créez ou modifiez une règle. Pour en savoir plus veuillez consulter les commandes create-rule et modify-rule. Voici un exemple de transformation d'en-tête d'hôte. Il transforme l'en-tête de l'hôte en point de terminaison interne.
[ { "Type": "host-header-rewrite", "HostHeaderRewriteConfig": { "Rewrites": [ { "Regex": "^mywebsite-(.+).com$", "Replace": "internal.dev.$1.myweb.com" } ] } } ]
Par exemple, cette transformation réécrit l'en-tête de l'hôte en https://mywebsite-example.com/project-a tant quehttps://internal.dev.example.myweb.com/project-a.
Transformations de réécriture d'URL
Vous pouvez modifier le chemin ou la chaîne de requête de l'URL. En réécrivant l'URL au niveau de l'équilibreur de charge, votre frontend URLs peut rester cohérent pour les utilisateurs et les moteurs de recherche même si vos services principaux changent. Vous pouvez également simplifier les chaînes de requête d'URL complexes afin de faciliter leur saisie par les clients.
Notez que vous ne pouvez pas modifier le protocole ou le port de l'URL, mais uniquement le chemin et la chaîne de requête.
Exemple de transformation de réécriture d'URL
Vous pouvez spécifier une transformation lorsque vous créez ou modifiez une règle. Pour en savoir plus veuillez consulter les commandes create-rule et modify-rule. Voici un exemple de transformation de réécriture d'URL. Il transforme la structure du répertoire en chaîne de requête.
[ { "Type": "url-rewrite", "UrlRewriteConfig": { "Rewrites": [ { "Regex": "^/dp/([A-Za-z0-9]+)/?$", "Replace": "/product.php?id=$1" } ] } } ]
Par exemple, cette transformation réécrit l'URL de la demande https://www.example.com/dp/B09G3HRMW sous https://www.example.com/product.php?id=B09G3HRMW la forme.
En quoi les réécritures d'URL diffèrent des redirections d'URL
| Caractéristiques | Redirections d'URL | Réécritures d'URL |
|---|---|---|
| Affichage de l'URL | Modifications apportées à la barre d'adresse du navigateur | Aucune modification dans la barre d'adresse du navigateur |
| Codes d’état | Utilise 301 (permanent) ou 302 (temporaire) | Aucune modification du code d'état |
| Traitement | Côté navigateur | Côté serveur |
| Utilisations courantes | Changement de domaine, consolidation du site Web, correction des liens brisés | Nettoyez URLs pour le référencement, masquez les structures complexes, fournissez un mappage d'URL existant |