Diagnosticando e Solucionando Problemas de HTTP do Serviço Load Balancer

Saiba mais sobre problemas HTTP associados a balanceadores de carga.

Cabeçalho ou Cookie de Solicitação Inválida HTTP 400

Uma solução possível é aumentar o tamanho do cabeçalho da solicitação HTTP no balanceador de carga. Por padrão, o limite de tamanho é de 8 KB, mas aumentá-lo para 64 KB resolve o problema. Essa solução só é suportada para HTTP. Você pode criar uma regra para aumentar o tamanho do cabeçalho HTTP para resolvê-lo. Há também uma regra para tratar caracteres especiais no nome do cabeçalho que também podem resultar em falhas semelhantes.

Consulte Regras de Cabeçalho HTTP para obter mais informações.

Erros HTTP 502 Bad Gateway

Além do monitoramento e do gerenciamento, o registro em log de balanceamento de carga ajuda a identificar, isolar e solucionar problemas com sua infraestrutura de balanceadores de carga. O procedimento a seguir ilustra como solucionar problemas de um erro 502 Bad Gateway encontrado ao implantar um novo aplicativo Web, example.com. O exemplo usa um balanceador de carga público do Oracle Cloud Infrastructure como front-end em um ambiente de desenvolvimento. A tarefa falha com um erro 502 Bad Gateway no browser. Diagnostique e solucione problemas usando os logs de acesso e de erro do balanceador de carga da seguinte forma:

  1. Confirme o erro usando o utilitário curl, da seguinte forma:

    curl -v http://example.com
    > GET / HTTP/1.1
    > Host: 192.0.2.99
    > User-Agent: curl/7.54.0
    > Accept: */*
    >
    < HTTP/1.1 502 Bad Gateway
    < Content-Type: text/html
    < Content-Length: 161
    < Connection: keep-alive
  2. Pesquise os logs de acesso e erro do balanceador de carga para "lbStatusCode" e "backendStatusCode".

    • Se os resultados incluírem backendStatusCode: 502:

      Possíveis causas:

      • O problema é um backend configurado incorretamente.

      • O backend provavelmente é outro proxy reverso ou LB.

      Resoluções possíveis

      • Examine os logs do proxy upstream para determinar por que o erro 502 está sendo retornado.

      • Resolva quaisquer problemas no backend final que estejam fazendo com que o proxy upstream retorne um erro 502.

    • Se os resultados incluírem backendStatusCode: 504:

      Possíveis causas:

      • Quando um erro 504 ocorre no backend, geralmente indica que o backend é outra instância de serviço de proxy ou do balanceador de carga. O erro normalmente ocorre quando um proxy não consegue se conectar a um servidor upstream em um período especificado.

      • Examine os logs do sistema upstream para determinar o que está fazendo com que o proxy upstream não consiga se conectar ao backend.

      Resoluções possíveis

      • Aumente o limite de tempo para o timeout da conexão.

      • Determine por que o backend está demorando mais para responder do que o normal usando um utilitário, como tcpdump, e ferramentas de aplicativo incorporadas.

    • Se os resultados incluírem backendStatusCode: 500:

      Possíveis causas:
      • Quando um erro 500 ocorre no backend, geralmente indica um erro no lado do servidor, comumente conhecido como "Erro Interno do Servidor". Aplicativos de backend geralmente causam esse erro.

      • Incapacidade de se conectar a recursos upstream, como bancos de dados, APIs e serviços.

      Resoluções possíveis

      Resolva o problema no nível do aplicativo que está causando o erro.

    • Se os resultados incluírem backendStatusCode: sem código de erro:

      • Normalmente, quando nenhum código de status de backend acompanha lbStatusCode: 502, nenhum backend está disponível para enviar as conexões.

      • Você também pode notar uma mensagem No healthy backends available in associated backendSet nos Logs de erro do balanceador de carga.

      • Certifique-se de que os backends estejam íntegros. Se os backends estiverem íntegros, confirme se a verificação de integridade está configurada corretamente.

HTTP 504

O erro HTTP 504 normalmente indica que o servidor de backend está sendo usado como outra instância de serviço de proxy ou balanceador de carga. Esse erro geralmente ocorre quando um proxy não consegue se conectar a um servidor upstream em um período especificado. Examine os logs do sistema upstream para determinar o que está fazendo com que o proxy upstream não consiga se conectar ao servidor de backend.

As possíveis soluções incluem:

  • Aumentar o tempo de timeout da conexão.

  • Determinar por que o servidor de backend está demorando mais para responder do que o normal usando um utilitário, como tcpdump, e ferramentas de aplicativos incorporadas.

Consulte Erros HTTP 502 Bad Gateway para obter mais informações.