Kami memiliki aplikasi Drupal yang menggunakan sso untuk mencatat pengguna.
Kami menggunakan AWS classic load balancers (ELB), AWS memberitahu kami bahwa tidak ada persistensi sesi pada ELB.
Apa yang saya coba cari tahu adalah bagaimana cookie bekerja dengan non-persistensi pada load balancers klasik.
DNS example.com diarahkan ke ELB. Ada 2 server di kolam Server1 dan Server2
Yang kami inginkan adalah jika pengguna mengklik beranda mereka di http://example.com/user/12345/
katakan pada server 1 jika mereka belum login mereka diarahkan ke halaman sso http://example.com/user/login/sso
, secara otomatis masuk dan mendapatkan cookie SESS<hexnumber>
dan kemudian diarahkan kembali kehttp://example.com/user/12345/
Kami tidak diizinkan untuk menambahkan server sesi (redis) apa pun jaminan bahwa mereka akan tetap di server 1 untuk kedua pengalihan.
Setahu saya dengan setiap klik ke 'example.com' pengguna bisa berakhir di server 1 atau server 2.
Pertanyaan saya:
Jika mereka mendapatkan cookie di server1 dan kemudian dialihkan ke server2 bagaimana server2 tahu bahwa cookie sudah ditetapkan untuk pengguna itu di server1?
Sepertinya saya berpikir sendiri dalam lingkaran. Ketika mengerjakan jenis pengaturan ini di masa lalu menggunakan LBs tanpa ketekunan sesi, kami menggunakan server redis untuk mengadakan sesi dan setiap permintaan akan melihat redis sever untuk informasi sesi.
example.com
jika pengguna mendapat cookie kemudian menyimpannya di www1.example.com atau www2.example.com?