Abbiamo un'applicazione Drupal che utilizza sso per accedere agli utenti.
Stiamo utilizzando i bilanciatori di carico classici (ELB) di AWS, AWS ci sta dicendo che sull'ELB non esiste persistenza di sessione.
Quello che sto cercando di capire è come funzionano i cookie senza persistenza sui classici sistemi di bilanciamento del carico.
esempio.com DNS è puntato sull'ELB. Ci sono 2 server nel pool Server1 e Server2
Ciò che vogliamo che accada è se un utente accede alla propria home page su http://example.com/user/12345/
server 1, se non è già registrato, viene reindirizzato alla pagina sso http://example.com/user/login/sso
, effettua automaticamente il login e ottiene un cookie SESS<hexnumber>
e quindi reindirizzato ahttp://example.com/user/12345/
Non è consentito aggiungere alcun server di sessioni (redis) qual è la garanzia che rimarranno sul server 1 per entrambi i reindirizzamenti.
Per quanto ne so ad ogni hit di "esempio.com", l'utente potrebbe finire sul server 1 o sul server 2.
La mia domanda:
Se ricevono il cookie su server1 e quindi vengono reindirizzati a server2 come farà server2 a sapere che un cookie è già assegnato a quell'utente su server1?
Mi sembra di pensare in cerchio. Quando in passato abbiamo lavorato su questo tipo di installazione utilizzando LB senza persistenza di sessione, abbiamo utilizzato un server redis per contenere le sessioni e ogni richiesta avrebbe esaminato il server redis per le informazioni sulla sessione.
example.com
se gli utenti ricevono un cookie e conservarli su www1.example.com o www2.example.com?