Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Disable HTTP/2 on an HTTPS-enabled ingress gateway

Última atualização: Jun 28, 2026

Um ingress gateway com HTTPS habilitado usa a Negociação de Protocolo de Camada de Aplicação (ALPN) para negociar HTTP/2 e HTTP/1.1, com preferência padrão para HTTP/2. Se o cliente apresentar problemas de compatibilidade com HTTP/2 impossíveis de resolver no lado do cliente, desative o HTTP/2 no ingress gateway para negociar apenas HTTP/1.1.

Para desativar o HTTP/2, adicione a anotação httpsHttp2Disabled: true à configuração do pod do ingress gateway no console do Alibaba Cloud Service Mesh (ASM).

Funcionamento da negociação ALPN

Durante o handshake TLS, o ingress gateway anuncia h2 (HTTP/2) e http/1.1 como protocolos compatíveis via ALPN. Se o cliente também for compatível com HTTP/2, o gateway selecionará h2. Esse é o comportamento padrão para listeners HTTPS em gateways baseados em Istio.

A desativação do HTTP/2 remove h2 da lista de anúncios do ALPN. Assim, o gateway negocia apenas http/1.1 com os clientes downstream, independentemente dos recursos do cliente.

Cenários comuns que exigem a desativação do HTTP/2:

  • Clientes legados com implementações incompletas de HTTP/2

  • Aplicações com falhas de conexão ou comportamento inesperado via HTTP/2

  • Ambientes em que a multiplexação HTTP/2 causa problemas com serviços upstream

Pré-requisitos

Antes de começar, verifique se você tem:

Verificar as configurações atuais do ALPN

Antes de alterar as configurações, confirme se o ingress gateway negocia atualmente HTTP/2 e HTTP/1.1.

Execute o comando a seguir. Substitua <ingress-gateway-ip> pelo endereço IP do seu ingress gateway.

curl -k -H Host:b.aliyun.com --resolve b.aliyun.com:443:<ingress-gateway-ip> https://b.aliyun.com/status/418 -v

Na saída, localize a seção de negociação ALPN:

* ALPN, offering h2
* ALPN, offering http/1.1
...
* ALPN, server accepted to use h2

Essa saída confirma que o gateway anuncia h2 e http/1.1, e que o servidor seleciona h2 (HTTP/2).

Default ALPN negotiation showing both HTTP/2 and HTTP/1.1

Desativar HTTP/2 para conexões HTTPS

Importante

Esta configuração reinicia o ingress gateway. Planeje uma breve interrupção no tráfego desse gateway.

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

  2. Na página Mesh Management, clique em nome da sua instância ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

  3. Na página Ingress Gateway, localize o gateway desejado e clique em YAML na coluna Actions.

  4. Na caixa de diálogo Edit, adicione o bloco podAnnotations a seguir sob o campo spec e clique em OK. Essa anotação define o campo ProxyConfig do Istio, especificamente httpsHttp2Disabled, como true. Isso remove h2 da lista de protocolos ALPN nos listeners HTTPS.

       podAnnotations:
         proxy.istio.io/config: |
           httpsHttp2Disabled: true

Verificar a desativação do HTTP/2

Após a reinicialização do gateway, execute o mesmo comando curl para confirmar a negociação exclusiva de HTTP/1.1:

curl -k -H Host:b.aliyun.com --resolve b.aliyun.com:443:<ingress-gateway-ip> https://b.aliyun.com/status/418 -v

Na saída, verifique se a seção ALPN exibe apenas http/1.1:

* ALPN, offering h2
* ALPN, offering http/1.1
...
* ALPN, server accepted to use http/1.1

O cliente ainda oferece ambos os protocolos, mas o servidor aceita apenas http/1.1. Isso confirma a desativação do HTTP/2 no ingress gateway.

ALPN negotiation after disabling HTTP/2 showing only HTTP/1.1