Como migrar uma sessão HTTPS estabelecida de um servidor para outro?

Como migrar uma sessão HTTPS estabelecida de um servidor para outro?

Existem muitos servidores HTTPS (Nginx ou Haproxy ou algo mais?):

  • único balanceador,
  • e vários trabalhadores.

É possível migrar uma sessão HTTPS estabelecida (com cabeçalhos de solicitação HTTP já recebidos) do balanceador para o trabalhador?

  • O Balancer deve esquecer completamente esta sessão.
  • O trabalhador deve receber o restante do corpo da solicitação HTTP e enviar a resposta HTTPdiretamentepara o cliente por SSL (omitindo o balanceador).

Isto parecerelativamentetrivial para HTTP simples porque não é criptografado, mas parece umpedaçodifícil para HTTPS porque os parâmetros de handshake SSL específicos da sessão devem ser (de forma transparente para o cliente):

  1. Serializado por balanceador,
  2. Transferido para trabalhador,
  3. Desserializado pelo trabalhador,
  4. Aplicado pelo trabalhador.

O recurso mais próximo que encontrei é chamado de "espelhamento de conexão SSL" e faz parte da plataforma F5 BIG-IP. Demonstra que o problema descrito é praticamente solucionável. Mas é (a) proprietária, (b) de preço extremamente alto e (c) solução somente de failover, ou seja, HA sem LB.

informação relacionada