I have been reading through the Elastic Beanstalk and ElastiCache documentation on creating a connection between my EB instance and my Redis endpoint. I have added my endpoint to my session configuration in my Node.js app, but it doesn't appear that it is connecting to my Redis instance as indicated by an error that is getting thrown when accessing any pages that use the session. I know that the security groups between the Elastic Beanstalk and ElastiCache need to be the same, but do I need make adjustments to my environment to attach the two?
Here is my Redis connection in my Node.js app:
//Session Cookie
app.use(cookieParser());
app.use(session({
store: new RedisStore({
host: 'redis-production.dfdfa.0001.use1.cache.amazonaws.com',
port: 6379
}),
secret: process.env.SECRET,
resave: true,
saveUninitialized: true,
cookie: {
httpOnly: true,
secure: false //turn to true on production once https is in place
}
}));
Error: req.flash() requires sessions
at /var/app/current/app/controllers/site-routes.js:34:15
which is linked to this code:siteRoutes.route('/login') .get(function(req, res){ res.render('pages/site/login.hbs',{ error: req.flash('error') }); })
which has been an issue in the past when I didn't have a redis correctly configured. – cphill