Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14033|Resposta: 0

Solução de Balanceamento de Carga do Alibaba Cloud SLB para erro 502 de gateway ruim

[Copiar link]
Publicado em 13/08/2019 14:42:43 | | | |
Uso o balanceador de carga do Alibaba Cloud SLB há mais de 5 anos, e o uso desde a beta interna inicial do Alibaba Cloud e, após a implantação, ocorreu o seguinte erro:



502 Bad Gateway

Erros ocorrem de forma intermitente, após a inicialização, não há erro de gateway 502; após esperar um minuto, o erro aparece, o contêiner do Windows Server IIS ASP.NET site.

Clique no IIS do servidor para abrir o navegador, você pode navegar normalmente, problemas indiretos de balanceamento de carga no SLB, essa é a primeira vez que encontro isso.

Solução:

O problema aparece principalmente nas configurações de "Método de Verificação de Saúde", as configurações padrão são as seguintes:



A verificação de saúde do backend é solicitada no headway e, se o código de status correspondente devolver 2xx ou 3xx, o servidor backend é considerado normal.

Tentamos fazer uma solicitação de cabeçalho de três maneiras: primeiro, eu executei diretamente o projeto local e testei localmente.

Teste 1:

Use o teste do carteiro conforme mostrado abaixo:



Voltando ao estado 404 Não Encontrado, na verdade, aqui sabemos o que causou isso.

Teste 2:

Use o teste de curvação conforme mostrado abaixo:

Windows (64 bits) para baixar usando o comando curl com a ferramenta
https://www.itsvse.com/thread-3409-1-1.html
(Fonte: Architect_Programmer)
C:\Users\itsvse>curl -i -X HEAD http://localhost:60155/
Warning: Setting custom HTTP method to HEAD with -X/--request may not work the
Warning: way you want. Consider using -I/--head instead.
HTTP/1.1 404 Não Encontrado
Cache-Control: private
Content-Length: 4432
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/10.0
X-SourceFiles: =?UTF-8?B?QzpccHJvamVjdFxteVxDb2RlU2hhcmluZ1xDb2RlU2hhcmluZy5XZWJVSVxIb21lXEVycm9yNDA0?=
X-Powered-By: ASP.NET
Date: Tue, 13 Aug 2019 03:53:04 GMT

curl: (56) Recv failure: Connection was reset



Também foi retornado um código de status 404.

Teste 3:

Desta vez, testamos diretamente no servidor oficial, através do teste de rotação no PowerShell, como mostrado na figura abaixo:



Você pode ver que a mesma página é solicitada pelo cabeçalho,Às vezes retorno404código de status, às vezes retornado200Código de status, confirmando assim os erros intermitentes de 502 que encontramos no início.

O que causa asp.net retorno intermitente dos códigos de status 404 e 200?

Como nossa página inicial possui cache, quando o usuário usa o método get para solicitar a página inicial, a página será armazenada em cache com sucesso, e então o head e get sempre retornam a página em cache, e também retornam o código de resposta 200; se, após o cache expirar, nenhum usuário fizer uma solicitação do método get, apenas a solicitação do método head pelo comando, ocorrerá um erro 404. Estima-se que poucas pessoas enfrentarão esse tipo de problema.

A solução é verificar todos os códigos de status de resposta no modo de verificação de saúde, conforme mostrado na figura abaixo:



Como solucionar anomalias na verificação de saúde da Escuta da Camada 7 (HTTP/HTTPS):O login do hiperlink está visível.

(Fim)




Anterior:Considerações para usar o Amazon AWS CloudFront
Próximo:Dia 76 em Shenzhen
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com