Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Ativar compressão para um gateway de entrada do ASM

Última atualização: Jun 28, 2026

A ativação da compressão em um gateway de entrada do ASM compacta as respostas HTTP. Esse recurso aumenta a velocidade de resposta e reduz o consumo de largura de banda. Este tópico descreve como ativar a compressão para um gateway de entrada do ASM.

Pré-requisitos

Procedimento

  1. Implante o Nginx no cluster ACK.

    1. Crie um arquivo chamado nginx.yaml com o seguinte conteúdo.

      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. Execute o comando a seguir para implantar a aplicação Nginx.

      kubectl apply -f nginx.yaml
  2. Crie um VirtualService e um Gateway.

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, localize a instância do ASM que deseja configurar. Clique em no nome da instância ou em Manage na coluna Actions.

    3. Na página de detalhes da instância do ASM, escolha Traffic Management Center > VirtualService no painel de navegação à esquerda. Na página exibida, clique em Create from YAML.

    4. Na página Create, selecione os Namespaces de destino, cole o conteúdo abaixo no editor de código e clique em 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. Na página de detalhes da instância do ASM, escolha ASM Gateways > Gateway no painel de navegação à esquerda. Na página exibida, clique em Create from YAML.

    6. Na página Create, selecione os Namespaces de destino, cole o conteúdo abaixo no editor de código e clique em 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. Ative a compressão para o gateway de entrada do ASM.

    1. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

    2. Na página Ingress Gateway, localize ingressgateway e clique em View YAML na coluna Actions.

    3. Na caixa de diálogo Edit, adicione o conteúdo a seguir e clique em OK.

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

      A tabela a seguir descreve os principais campos de compressão. Para obter mais detalhes sobre esses campos, consulte Gerencie um gateway de entrada usando a API do Kubernetes.

      Parâmetro

      Descrição

      compression.content_type

      Lista de tipos de conteúdo a compactar.

      compression.enabled

      Defina se a compressão será ativada no gateway de entrada.

      compression.gzip

      Nível de memória para compressão Gzip.

      compression.remove_accept_encoding_header

      • Se definido como true, o gateway de entrada remove o cabeçalho Accept-Encoding da solicitação do cliente antes de encaminhá-la ao serviço upstream.

      • Se definido como false, o gateway de entrada preserva o cabeçalho Accept-Encoding na solicitação do cliente antes de encaminhá-la ao serviço upstream.

Verifique a compressão

  1. Abra as ferramentas de desenvolvedor do navegador. Este guia usa o Google Chrome como exemplo.

    1. No canto superior direito do Google Chrome, clique em no ícone 设置.

    2. Selecione More tools > Developer tools.

  2. Acesse a aplicação Nginx.

    1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

    2. Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, clique em Network > Services.

    3. Na página Services, defina o Namespace como istio-system e localize o endereço IP do serviço istio-ingressgateway (porta 80) na coluna External IP.

    4. Na barra de endereços do navegador, insira o endereço IP externo do serviço istio-ingressgateway.

      Verifique se o campo Content-Encoding na resposta é gzip. Isso indica que a compressão foi ativada com sucesso no gateway de entrada do ASM. No painel Network, selecione qualquer solicitação e verifique os Response Headers para confirmar que contêm content-encoding: gzip. Essa confirmação demonstra que o gateway de entrada do ASM ativou corretamente a compressão gzip.