Chúng tôi có một ứng dụng Drupal sử dụng sso để đăng nhập người dùng.
Chúng tôi đang sử dụng bộ cân bằng tải cổ điển AWS (ELB), AWS đang nói với chúng tôi rằng không có sự kiên trì phiên nào trên ELB.
Những gì tôi đang cố gắng tìm ra là làm thế nào cookie hoạt động với sự không kiên trì trên các bộ cân bằng tải cổ điển.
example.com DNS được trỏ đến ELB. Có 2 máy chủ trong nhóm Server1 và Server2
Điều chúng tôi muốn xảy ra là nếu người dùng truy cập trang chủ của họ http://example.com/user/12345/
trên máy chủ 1 nếu họ chưa đăng nhập thì họ đã được chuyển hướng đến trang sso http://example.com/user/login/sso
, tự động đăng nhập và nhận cookie SESS<hexnumber>
và sau đó được chuyển hướng trở lạihttp://example.com/user/12345/
Chúng tôi không được phép thêm bất kỳ máy chủ phiên nào (redis), đảm bảo rằng chúng sẽ ở lại trên máy chủ 1 cho cả hai chuyển hướng.
Theo hiểu biết của tôi với mỗi lần truy cập vào 'example.com', người dùng có thể kết thúc trên máy chủ 1 hoặc máy chủ 2.
Câu hỏi của tôi:
Nếu họ nhận được cookie trên server1 và sau đó được chuyển hướng đến server2 thì làm sao server2 biết rằng cookie đã được gán cho người dùng đó trên server1?
Tôi dường như đang suy nghĩ trong vòng tròn. Khi làm việc với loại thiết lập này trong quá khứ bằng cách sử dụng LB mà không có sự kiên trì của phiên, chúng tôi đã sử dụng máy chủ redis để giữ các phiên và mỗi yêu cầu sẽ xem xét redis sever để biết thông tin phiên.
example.com
nếu người dùng nhận được cookie, sau đó giữ chúng trên www1.example.com hoặc www2.example.com?