Temos um aplicativo Drupal que usa sso para fazer logon dos usuários.
Estamos usando os balanceadores de carga clássicos (ELB) da AWS, a AWS está nos dizendo que não há persistência de sessão no ELB.
O que estou tentando descobrir é como os cookies funcionam com não persistência nos balanceadores de carga clássicos.
O DNS example.com está apontado para o ELB. Existem 2 servidores no pool Server1 e Server2
O que queremos que aconteça é que, se um usuário acessar sua página inicial, http://example.com/user/12345/
digamos no servidor 1, se ainda não estiver logado, será redirecionado para a página sso http://example.com/user/login/sso
, fará login automaticamente e obterá um cookie SESS<hexnumber>
e, em seguida, redirecionará de volta parahttp://example.com/user/12345/
Não temos permissão para adicionar nenhum servidor de sessões (redis), qual é a garantia de que eles permanecerão no servidor 1 para ambos os redirecionamentos.
Que eu saiba, a cada ocorrência de 'example.com', o usuário pode terminar no servidor 1 ou no servidor 2.
Minha pergunta:
Se eles obtiverem o cookie no servidor1 e depois forem redirecionados para o servidor2, como o servidor2 saberá que um cookie já está atribuído a esse usuário no servidor1?
Eu pareço estar me pensando em círculos. Ao trabalhar com esse tipo de configuração no passado usando LBs sem persistência de sessão, usamos um servidor redis para manter as sessões e cada solicitação examinaria o servidor redis para obter as informações da sessão.
example.com
se os usuários receberem um cookie e mantê-los em www1.example.com ou www2.example.com?