Erros do Serviço de Aplicativo do Azure após o Swap VIP - Bug de Afinidade?

2

OK, isso é realmente estranho e eu nem sei como descrevê-lo corretamente. Um cliente queixou-se de que uma página específica do nosso site não estava funcionando e um de nossos técnicos internos também conseguiu reproduzir o problema. A maior parte do site está funcionando bem. Isso é implantado no Serviço de Aplicativo do Azure.

Eu verifiquei executando exatamente a mesma página que o técnico, e funcionou bem para mim. A solicitação inteira é idêntica, exceto para cookies de autenticação. Quando eu executo o pedido, recebo 200 OK, mas o técnico e o cliente recebem 404 NOT FOUND.

O problema só começou depois que fizemos uma troca VIP esta manhã no Serviço de Aplicativo do Azure (que eu sou novo). Implantei uma atualização de serviço esta manhã para o Intercâmbio de Implantação de Fase e, alguns minutos depois, o VIP Swap. Eu acho que tanto o cliente quanto o técnico tiveram o navegador aberto e a sessão ativa durante o Swap VIP.

Eu fiz algumas soluções de problemas e aqui está o que eu descobri. Eu posso usar o Fiddler para capturar o traço exato da página da Web que funciona bem para mim. Então, posso copiar apenas um valor da solicitação para o técnico que recebe o erro 404 e, de repente, também posso reproduzir o erro 404. A diferença é um cookie:

Cookie: ARRAffinity=blahblahblahblah;

Meu entendimento básico é que essa é uma chave para identificar a qual servidor o usuário está se conectando, para que eles obtenham afinidade com uma instância específica no conjunto com balanceamento de carga (2 servidores). Conseguimos corrigir o problema fazendo com que o técnico e o cliente excluíssem todos os cookies no navegador, mas mesmo o logout e o login não corrigiriam o problema.

Por que uma chave de afinidade "obsoleta" causaria um erro aleatório 404 em uma página específica? É possível que algumas das solicitações do usuário estejam realmente sendo direcionadas para o site de implantação de teste antigo, mesmo que estejam atingindo a URL que se conecta ao site de implantação de Produção?

    
por mellamokb 13.05.2016 / 22:59

1 resposta

2

Existem duas coisas aqui:

  1. A afinidade da sessão. Como você pode ler neste artigo , agora é possível remover a afinidade de sessão em aplicativos da web, se isso merecer seu caso de uso (por exemplo, você lida com sessões fora do aplicativo da Web ou simplesmente não tem informações específicas da sessão).
  2. O erro 404 é um pouco estranho. Pode ser de uma implantação com falha, portanto, você pode querer refazer uma implantação completa em um novo slot e trocá-lo novamente. Se ainda houver erros, dê uma olhada no próprio site e veja se não há nenhum código "com estado" que lhe dê um comportamento específico.

Por favor, deixe-nos saber o que aconteceu no final.

    
por 20.05.2016 / 00:45