Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Activer la compression pour une passerelle d'entrée ASM

Dernière mise à jour :Aug 11, 2026

L'activation de la compression pour une passerelle d'entrée ASM permet de compresser les réponses HTTP. Cette fonctionnalité améliore la vitesse de réponse et réduit l'utilisation de la bande passante. Cette rubrique explique comment activer la compression pour une passerelle d'entrée ASM.

Prérequis

Procédure

  1. Déployez Nginx dans le cluster ACK.

    1. Créez un fichier nommé nginx.yaml contenant le code suivant.

      Nginx.yaml

      apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
      kind: Deployment
      metadata:
        name: nginx-deployment
      spec:
        selector:
          matchLabels:
            app: nginx
        replicas: 1
        template:
          metadata:
            labels:
              app: nginx
              sidecarset-injected: "true"
          spec:
            containers:
            - name: nginx
              image: nginx:1.14.2
              ports:
              - containerPort: 80
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: nginx
      spec:
        ports:
          - name: http
            port: 80
            protocol: TCP
            targetPort: 80
        selector:
          app: nginx
        type: ClusterIP
    2. Exécutez la commande suivante pour déployer l'application Nginx.

      kubectl apply -f nginx.yaml
  2. Créez un VirtualService et une Gateway.

    1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez Service Mesh > Mesh Management.

    2. Sur la page Mesh Management, localisez l'instance ASM à configurer. Cliquez sur son nom ou sur Manage dans la colonne Actions.

    3. Sur la page de détails de l'instance ASM, sélectionnez Traffic Management Center > VirtualService dans le volet de navigation de gauche. Sur la page qui s'affiche, cliquez sur Create from YAML.

    4. Sur la page Create, sélectionnez les Namespaces cibles, collez le contenu suivant dans l'éditeur de code, puis cliquez sur Create.

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: nginx
        namespace: default
      spec:
        gateways:
          - nginx-gateway
        hosts:
          - '*'
        http:
          - match:
              - uri:
                  exact: /
            route:
              - destination:
                  host: nginx
                  port:
                    number: 80
    5. Sur la page de détails de l'instance ASM, sélectionnez ASM Gateways > Gateway dans le volet de navigation de gauche. Sur la page qui s'affiche, cliquez sur Create from YAML.

    6. Sur la page Create, sélectionnez les Namespaces cibles, collez le contenu suivant dans l'éditeur de code, puis cliquez sur Create.

      apiVersion: networking.istio.io/v1beta1
      kind: Gateway
      metadata:
        name: nginx-gateway
        namespace: default
      spec:
        selector:
          istio: ingressgateway
        servers:
          - hosts:
              - '*'
            port:
              name: http
              number: 80
              protocol: HTTP
  3. Activez la compression pour la passerelle d'entrée ASM.

    1. Dans le volet de navigation de gauche, sélectionnez ASM Gateways > Ingress Gateway.

    2. Sur la page Ingress Gateway, localisez ingressgateway et cliquez sur View YAML dans la colonne Actions.

    3. Dans la boîte de dialogue Edit, ajoutez le contenu suivant, puis cliquez sur OK.

      compression:
        content_type:
          - text/html
        enabled: true
        gzip:
          memory_level: 9
        remove_accept_encoding_header: true

      Le tableau ci-dessous décrit les principaux champs de configuration de la compression. Pour plus d'informations sur ces champs, consultez la rubrique Gérer une passerelle d'entrée à l'aide de l'API Kubernetes.

      Parameter

      Description

      compression.content_type

      Liste des types de contenu à compresser.

      compression.enabled

      Indique si la compression est activée pour la passerelle d'entrée.

      compression.gzip

      Niveau de mémoire utilisé pour la compression Gzip.

      compression.remove_accept_encoding_header

      • Si ce paramètre est défini sur true, la passerelle d'entrée supprime l'en-tête Accept-Encoding de la requête client avant de la transférer au service amont.

      • Si ce paramètre est défini sur false, la passerelle d'entrée conserve l'en-tête Accept-Encoding de la requête client avant de la transférer au service amont.

Vérifier la compression

  1. Ouvrez les outils de développement de votre navigateur. Ce guide utilise Google Chrome à titre d'exemple.

    1. Dans le coin supérieur droit de Google Chrome, cliquez sur l'icône 设置.

    2. Sélectionnez More tools > Developer tools.

  2. Accédez à l'application Nginx.

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Network > Services.

    3. Sur la page Services, définissez le Namespace sur istio-system, puis recherchez l'adresse IP du service istio-ingressgateway (port 80) dans la colonne External IP.

    4. Dans la barre d'adresse de votre navigateur, saisissez l'adresse IP externe du service istio-ingressgateway.

      Vous constatez que l'en-tête Content-Encoding de la réponse est gzip, ce qui confirme l'activation réussie de la compression pour la passerelle d'entrée ASM. Dans l'onglet Network, sélectionnez n'importe quelle requête et vérifiez les Response Headers pour confirmer la présence de l'en-tête content-encoding: gzip. Cela indique que la compression gzip a été correctement activée sur la passerelle d'entrée ASM.