Domyślnie usługa SSO przechowuje sesje w rozproszonym, klastrowym magazynie klucz-wartość udostępnianym przez consul. Zapewnia to dużą odporność na awarie i z założenia gwarantuje bezpieczny odczyt i zapis. Z drugiej strony w witrynach o dużym ruchu może to obniżać wydajność.
Aby temu zaradzić, rozwiązanie zawiera kilka mechanizmów magazynu sesji, które pozwalają przechowywać sesje w zewnętrznej relacyjnej bazie danych lub w usłudze REDIS dołączonej do Notakey Authentication Appliance.
Zakładając, że usługa REDIS jest skonfigurowana z VRRP pod adresem 10.0.1.98, aby przełączyć się na magazyn REDIS, wykonaj następujące polecenia konfiguracyjne:
ntk cfg set :sso.base.\"store.type\" "redis"
ntk cfg set :sso.base.\"store.redis.host\" "10.0.1.98"
Jeśli korzystasz z pojedynczego węzła lub nie używasz VRRP, zastąp 10.0.1.98
wartością redis — to wewnętrzna nazwa tej usługi. Szczegóły znajdziesz w
Konfiguracja usługi REDIS z VRRP.
Pamiętaj, że po każdej zmianie konfiguracji musisz uruchomić ponownie wszystkie
instancje usługi poleceniem ntk sso restart. Zwróć też uwagę, że obecnie nie
ma sposobu na migrację z jednego typu magazynu sesji na inny, więc po ponownym
uruchomieniu usługi wszystkie aktywne sesje zostaną unieważnione.
Po zmianach upewnij się, że sesje trafiają do REDIS (uruchom polecenie na węźle, na którym działa usługa REDIS, np. MASTER):
docker exec -it redis redis-cli -n 0
> keys sso.*