Balanceador de Carga Emitindo Tempo Errado no Cabeçalho Http

1

Nosso aplicativo da web de intranet está se comportando de forma muito estranha. Muitas vezes, postando de volta (asp.net) para salvar a entrada de formulário final em nenhuma ação. Depois de mais ou menos um mês de solução de problemas "on-and-off", finalmente consegui comparar os cabeçalhos de solicitação e resposta de HTTP.

Basicamente, tenho duas sessões de navegador, uma solicitando diretamente para o servidor da web, a outra solicitando por meio da URL do balanceador de carga. Uma das diferenças entre as duas respostas foi Cabeçalho da data. A versão que vem do LB tem um cabeçalho de data que é 6 minutos no futuro. A outra diferença é Persistent-auth: a resposta LB é ON e a resposta direta é OFF.

Eu não sou administrador de rede, então não consigo me intrometer. Minha impressão é que o cabeçalho http é emitido pelo servidor da Web, não pelo balanceador de carga. Isso é mesmo um cenário válido? O que devo pedir ao meu administrador para procurar?

    
por Haoest 11.06.2014 / 01:35

1 resposta

2

O comportamento geral seria que o servidor definisse o cabeçalho Data e não o balanceador de carga. No entanto, é possível definir cabeçalhos com um balanceador de carga . Em particular, um balanceador de carga em cache pode estar fazendo isso, pois, de acordo com a RFC 2616 , o cabeçalho da data é parte da determinação da idade (date_value é derivado do Date Header):

Given that we have two independent ways to compute the age of a response when it is received, we can combine these as

   corrected_received_age = max(now - date_value, age_value)

Por isso, recomendo trabalhar com seus administradores para entender melhor a arquitetura que envolve o aplicativo. Juntos, descubra qual caching pode estar acontecendo, que tipo de balanceador de carga você está usando e, claro, verifique se todos os servidores no pipeline têm seu tempo definido com precisão.

    
por 11.06.2014 / 03:03