Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:En-têtes de requête et de réponse personnalisés

Dernière mise à jour :Aug 11, 2026

Dans Service Mesh (ASM), VirtualService et EnvoyFilter permettent tous deux de personnaliser les en-têtes de requête et de réponse, mais ils diffèrent par leur flexibilité et leurs cas d'utilisation.

Comparaison entre VirtualService et EnvoyFilter

VirtualService convient mieux aux modifications d'en-têtes simples liées au routage, tandis qu'EnvoyFilter permet une personnalisation plus approfondie des proxies Envoy. Choisissez la solution adaptée en fonction de vos besoins et des comparaisons présentées dans le tableau suivant.

Élément

VirtualService

EnvoyFilter

Niveau d'abstraction

Offre un niveau d'abstraction supérieur qui vous permet de définir l'ajout ou la suppression d'en-têtes de requête et de réponse directement dans les règles de routage Istio. Cette approche est recommandée car les règles sont plus faciles à comprendre et à configurer.

Fournit une interface de bas niveau pour gérer directement les configurations du proxy Envoy. EnvoyFilter vous permet d'écrire des scripts Lua personnalisés ou d'utiliser d'autres extensions Envoy pour implémenter une logique complexe. Cette méthode est plus puissante et flexible, mais nécessite une compréhension approfondie des configurations Envoy.

Facilité d'utilisation

Utilise des CRD Istio standard, ce qui facilite la configuration et la compréhension.

La configuration est plus complexe et exige une familiarité avec l'API de configuration Envoy. Les erreurs sont plus susceptibles de se produire sans une bonne connaissance du fonctionnement interne d'Envoy.

Portée applicable

Couvre la plupart des opérations courantes sur les en-têtes : ajout, modification ou suppression d'en-têtes de requête et de réponse. Vous pouvez définir les valeurs d'en-tête sur des chaînes fixes ou générer dynamiquement des valeurs à l'aide d'expressions intégrées. Ces expressions sont entourées du symbole % et peuvent référencer du contenu dynamique tel que les attributs de requête. Tout opérateur de commande HTTP utilisé pour les journaux d'accès peut être spécifié dans les en-têtes personnalisés. Par exemple, %UPSTREAM_CLUSTER% renvoie le nom du service en amont. Pour plus d'informations, consultez Command Operators.

Prend en charge la personnalisation avancée et les opérations complexes au-delà de ce qu'offre VirtualService, telles que les vérifications conditionnelles, les transformations de données complexes ou les appels à des services externes. Les valeurs d'en-tête peuvent être calculées dynamiquement via du code.

Cas d'utilisation

Vous devez uniquement ajouter, supprimer ou modifier des en-têtes, et les opérations sont liées à des règles de routage spécifiques.

Vous devez effectuer une manipulation approfondie des requêtes ou des réponses, ou modifier les en-têtes globalement sans changer les règles de routage Istio.

Références