ssoを使用してユーザーをログインさせるDrupalアプリケーションがあります。
AWSクラシックロードバランサー(ELB)を使用しています。AWSは、ELBにセッション永続性がないことを通知しています。
私が理解しようとしているのは、Cookieが従来のロードバランサーで非永続性でどのように機能するかです。
example.com DNSはELBを指しています。プールServer1とServer2には2つのサーバーがあります
ユーザーhttp://example.com/user/12345/
がまだログインしていない場合にサーバー1のホームページhttp://example.com/user/login/sso
にアクセスすると、ssoページにリダイレクトされ、自動的にログインしてCookieが取得され、SESS<hexnumber>
次にリダイレクトされます。http://example.com/user/12345/
セッションサーバー(redis)を追加することはできません。どちらのリダイレクトでも、サーバー1に留まることが保証されます。
私の知る限り、「example.com」にヒットするたびに、ユーザーはサーバー1またはサーバー2のいずれかに到達する可能性があります。
私の質問:
server1でcookieを取得してからserver2にリダイレクトされた場合、cookieがserver1のそのユーザーに既に割り当てられていることをserver2はどのようにして知るのでしょうか。
まるで自分のことを考えているようです。セッションの永続性なしでLBを使用して過去にこのタイプのセットアップを行ったとき、私たちはセッションを保持するためにredisサーバーを使用し、各リクエストはセッション情報のredisサーバーを調べました。
example.com
ユーザーがCookieを取得して、www1.example.comまたはwww2.example.comに保持している場合、どのように使用できますか?