0

Problème:Aucun cookie reçu sur Elastic Beanstalk avec ElastiCache

Une fois connecté à mon déployé application de nœud sur beanstalk élastique, je reçois jamais un cookie, et chaque fois que j'actualisez la page dans le navigateur, je suis connecté sur .

Voici ma configuration express session:

app.use(session({ 
    store: new RedisStore({ 
     client: redisClient, 
     host: process.env.REDIS_HOST, 
     port: process.env.REDIS_PORT 
    }), 
    secret: process.env.SESSION_SECRET, 
    resave: false, 
    saveUninitialized: false // No cookie received until successful login 
})); 

Dans le développement (après login): enter image description here

Dans la production (après login): enter image description here

Alors alors que je suis capable de me connecter, je suis incapable d'avoir une session persistante via ref resh parce qu'il n'y a jamais un cookie renvoyé.

raisons possibles, j'ai exclu:

  • ElastiCache: J'ai mis en place une instance ElastiCache avec Redis. Groupes de sécurité: J'ai configuré le groupe de sécurité entrant pour accepter les connexions TCP entrantes provenant du groupe de sécurité élastique beanstalk. J'ai même testé cela en utilisant ssh pour me connecter au beanstalk, en installant redis-cli et en me connectant au point de terminaison principal avec succès. Load Balancer: Mon instance de beanstalk élastique est un seul noeud actuellement et n'utilise pas l'équilibrage de charge, mais les résultats sont les mêmes même lorsque j'utilise l'équilibrage de charge des sessions persistantes contrôlées par l'application.

Avez-vous une idée de ce qui pourrait se passer?

Répondre

0

La question était dans ma configuration:

Avoir « client » comme une clé dans les clés « nouvelle RedisStore » écrase le frère « hôte » et « port ».

La configuration correcte est la suivante:

const redisClient = redis.createClient({ 
    host: process.env.REDIS_HOST, 
    port: process.env.REDIS_PORT 
}); 

app.use(session({ 
    store: new RedisStore({ 
    client: redisClient 
    }), 
    secret: process.env.SESSION_SECRET, 
    resave: false, 
    saveUninitialized: false 
}));