5

Ich verwende AWS Elastic Beanstalk mit EC2 Servern hinter einem Elastic Load Balancer (ELB).Django Benutzersitzungen mit deaktivierter AWS Load Balancer Klebrigkeit

Ich habe "sticky sessions" auf dem ELB aktiviert, denn nur so kann ich django Benutzersitzungen richtig funktionieren lassen. In Zeiten mit Spitzenverkehr verursacht dies jedoch Probleme, da der ELB nicht mehr jede eingehende Anfrage gleichmäßig verteilt. Dies überlastet normalerweise 1 Server wie einen Mini-DDOS.

Ich möchte serverseitige Benutzersitzungen verwenden, bei denen Informationen zur Benutzerauthentifizierung in meinem Redis-Cache gespeichert werden. Ich habe versucht Einstellung SESSION_ENGINE zahlreiche Dinge wie:

SESSION_ENGINE = 'redis_sessions.session' 
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' 
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' 

Dann, wenn ich Sticky Sessions zu deaktivieren, kann ich nicht anmelden, da die Anfragen an verschiedene Server am Ende gehen, wo einige Anfragen authentifiziert werden und andere nicht. Diejenigen, die nicht sind, leiten mich zurück zur Anmeldeseite.

Hier sind einige andere relevante Einstellungen Ich habe:

INSTALLED_APPS = (
    ..., 
    'django.contrib.sessions', 
    ..., 
) 
MIDDLEWARE_CLASSES = ( 
    ..., 
    'djangosecure.middleware.SecurityMiddleware', 
    ..., 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    ..., 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    ..., 
) 

Was mache ich falsch? Danke vielmals.

Antwort

0

Sind Sie sicher, dass sich alle Ihre Webserver tatsächlich mit derselben freigegebenen Redis-Instanz verbinden, z. B. im Netzwerk wie AWS ElastiCache (und nicht auf ihren lokalen Hosts)?

Wenn Sie SESSION_ENGINE = 'django.contrib.sessions.backends.cache' verwenden dann stellen Sie sicher, dass der Cache es in den Cache der redis Satz verwendet man in CACHES konfiguriert, vielleicht mit SESSION_CACHE_ALIAS nicht default wenn.

Verwandte Themen