Persistência da sessão SSL - HA Heartbeat

1

Eu tenho dois servidores, vamos chamá-los de Milo e Otis. Agora Milo e Otis estão configurados para ser um par ativo-passivo de servidores altamente disponíveis, onde Milo geralmente é o mestre e Otis espera pela falha improvável de Milo quando a Otis assume o IP virtual compartilhado. Eu tenho uma pergunta sobre o que acontece com a conexão SSL durante a falha.

Considere o seguinte:

  1. Algum cliente (eu) faz uma conexão SSL com o Milo.
  2. A conexão SSL está definida para permanecer ativa, portanto, digamos que uma página da Web seja solicitada pela conexão SSL. A página é baixada completamente e a conexão é aberta pronta para outra solicitação (digamos um recurso como um arquivo css).
  3. Antes do pedido para o arquivo css ser iniciado, o Milo experimenta uma falha catastrófica e agora a Otis assumiu o controle.
  4. O que acontece agora que eu quero fazer uma solicitação para o arquivo css? Eu ainda acho que tenho uma conexão aberta com o Milo, mas o IP virtual está apontando para a Otis.

O Otis atende as sessões SSL que o Milo teve automaticamente? Meu navegador começa a se comunicar com Otis e Otis diz: "Ei, provavelmente devemos apertar as mãos primeiro". Qualquer e todos os comentários / respostas sobre isso seria apreciado.

    
por Patrick James McDougle 18.03.2013 / 21:53

1 resposta

1

Quando ocorre um failover, as conexões ativas no momento serão interrompidas. Isso acontecerá no nível TCP, portanto, o SSL / TLS não entrará na cena. Uma conexão TCP requer que ambos os terminais conheçam a conexão e tenham as informações corretas (números de sequência, tamanhos de janela, etc.) e, portanto, quando o IP falhar, a máquina de backup não terá conhecimento das conexões TCP estabelecidas pelo mestre. . Quando a máquina de backup recebe pacotes que fazem parte de conexões TCP anteriores, ela responderá com um pacote RST, o que fará com que o cliente feche a conexão.

Mesmo se as conexões TCP fossem recuperadas, uma situação semelhante ocorreria com o SSL / TLS. Cada sessão requer estado em cada extremidade, incluindo a chave de sessão (que é o que realmente protege os dados do aplicativo). A máquina de backup não terá esse estado de sessão e, portanto, as sessões existentes serão encerradas.

    
por 18.03.2013 / 22:06