我在 node.js 上使用快速会话来存储用户会话。我已经部署到一个 AWS EC2 实例,当我直接通过 HTTP 调用它时它可以工作。为了使 ec2 实例为 HTTPS,我使用 AWS CloudFront,但是我的客户端 cookie 不再从快速会话中设置。
我不能直接将节点服务器设为 HTTPS,因为我的 SSL 证书在 ACM 上(不允许我下载它)。
快速会话中间件如下所示。我是否为 HTTPS 请求正确设置了这个?
let sessionMiddleware = session({
store: new redisStore({
client: redisClient,
ttl: 365*24*60*60
}),
saveUninitialized: false,
resave: false,
secret: "Shh, its a secret!",
cookie: {
httpOnly: false,
secure: true,
expires: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)
}
});
我通过将快速会话中间件的代理标志设置为 true 来解决这个问题。希望这可以帮助某人。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句