Planeje sua migração para o balanceador de carga de aplicativo externo global

Se você é um usuário do balanceador de carga de aplicativo clássico, consulte esta página se estiver planejando migrar para o balanceador de carga externo global ou se estiver planejando uma nova implantação com o balanceador de carga de aplicativo externo global.

Diferenças de recursos

Os seguintes recursos não são compatíveis com o balanceador de carga de aplicativo externo global. Eles estão disponíveis apenas com o balanceador de carga de aplicativo clássico:

Diferenças do plano de dados

A tabela a seguir destaca as diferenças no plano de dados entre o balanceador de carga de aplicativo clássico e o balanceador de carga de aplicativo externo global. Essas diferenças afetam a forma como os balanceadores de carga respondem a alguns eventos comuns.

Evento Resposta do balanceador de carga de aplicativo clássico Resposta do balanceador de carga de aplicativo externo global
Status/códigos de erro
Nenhum back-end está íntegro Retorna HTTP 502 Retorna HTTP 503
A solicitação usa uma criptografia SSL banida Retorna HTTP 502 Retorna HTTP 503
Conexão de upstream inicial redefinida pelo back-end Retorna HTTP 502 Retorna HTTP 503
Falha no upgrade da conexão (por exemplo, ao fazer upgrade para Websockets) Retorna HTTP 400 Retorna HTTP 403
O cabeçalho é grande demais Retorna HTTP 413 Retorna HTTP 431
Cotas e limites
Configuração do mapa de URL Há diferenças significativas nos limites de configuração do mapa de URL entre os dois balanceadores de carga. Para mais detalhes, consulte a documentação Cotas: mapas de URL.
Processamento de cabeçalhos
A solicitação usa um método HTTP personalizado sem corpo Adiciona o cabeçalho Transfer Encoding: Chunked à solicitação enviada ao back-end Adiciona o cabeçalho Content-Length: 0 à solicitação enviada ao back-end
Formato do cabeçalho X-Forwarded-For adicionado às solicitações enviadas ao back-end Usa o delimitador ", " entre IPs Usa o delimitador "," entre IPs (sem espaço depois da vírgula)
Preservação de caixa do cabeçalho A caixa do cabeçalho é preservada Todas as chaves do cabeçalho são transformadas em minúsculas
Cabeçalhos repetidos com o mesmo nome Permitido Cabeçalhos repetidos podem ser combinados em um único cabeçalho, com os valores anexados em ordem e separados por vírgula, conforme permitido pela RFC 7230.
(Somente HTTP/1.1) Nome de cabeçalho inválido (por exemplo, caracteres incompatíveis no cabeçalho) Permitido (para HTTP/1.1) Retorna HTTP 502 (para HTTP/1.1)
(Somente HTTP/1.1) Cabeçalho Content-Length repetido (mas igual) na solicitação Permitido (para HTTP/1.1) Retorna HTTP 502 (para HTTP/1.1)
(Somente HTTP/1.1) Vários hosts no cabeçalho Quando dois ou mais hosts são adicionados e o primeiro é válido, o cabeçalho é aceito Quando dois ou mais hosts são adicionados e alguns são inválidos, o balanceador de carga retorna HTTP 502
(Somente HTTP/1.1) Cabeçalho Connection: Keep-Alive Por padrão, adiciona Keep-Alive header às solicitações enviadas ao back-end Por padrão, não adiciona esse cabeçalho
Processamento de solicitações
Barras invertidas na solicitação O URL não foi alterado Converte para barra
Mesclar barras duplicadas na solicitação Deixa as barras sem mesclar Mescla barras
"#" no caminho da solicitação Permitido Retorna HTTP 400
(Somente HTTP/1.1) Caracteres inválidos no caminho de solicitação (por exemplo, "\\x7f\\x7f") Permitido (para HTTP/1.1) Retorna HTTP 502 (para HTTP/1.1)
Distribuição de tráfego (configuração do mapa de URL)
A solicitação do cliente inclui um número de porta O número da porta é ignorado mesmo que você tenha configurado hosts com portas no mapa de URL. Apenas o nome do host é considerado.
Por exemplo, as solicitações para example.com:5000 são correspondidas com o serviço de back-end para example.com.
O nome do host e o número da porta são considerados.
Por exemplo, as solicitações para example.com:5000 são correspondidas com o serviço de back-end para example.com:5000. Se não houver uma correspondência, o serviço de back-end padrão será usado.