Nous avons une application Drupal qui utilise sso pour connecter les utilisateurs.
Nous utilisons des équilibreurs de charge classiques (ELB) AWS, AWS nous dit qu'il n'y a pas de persistance de session sur l'ELB.
Ce que j'essaie de comprendre, c'est comment les cookies fonctionnent avec non persistance sur les équilibreurs de charge classiques.
example.com DNS pointe vers l'ELB. Il y a 2 serveurs dans le pool Server1 et Server2
Ce que nous voulons, c'est que si un utilisateur accède à sa page d'accueil sur http://example.com/user/12345/
disons sur le serveur 1 s'il n'est pas déjà connecté, il est redirigé vers la page sso http://example.com/user/login/sso
, se connecte automatiquement et obtient un cookie SESS<hexnumber>
, puis redirigé vershttp://example.com/user/12345/
Nous ne sommes pas autorisés à ajouter de serveur de sessions (redis), ce qui garantit qu'ils resteront sur le serveur 1 pour les deux redirections.
À ma connaissance, chaque fois que vous accédez à "example.com", l'utilisateur peut se retrouver sur le serveur 1 ou le serveur 2.
Ma question:
S'ils obtiennent le cookie sur server1 et sont ensuite redirigés vers server2, comment server2 saura-t-il qu'un cookie est déjà attribué à cet utilisateur sur server1?
Il me semble que je me pense en rond. Lorsque nous travaillions sur ce type de configuration dans le passé en utilisant des LB sans persistance de session, nous avons utilisé un serveur redis pour tenir les sessions et chaque demande regardait le serveur redis pour les informations de session.
example.com
si les utilisateurs obtiennent un cookie puis les conserver sur www1.example.com ou www2.example.com?