【问题标题】:Express session not setting session快速会话未设置会话
【发布时间】:2019-12-29 02:29:48
【问题描述】:

我在 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)
    }
});

【问题讨论】:

  • 添加更多代码和任何其他可能相关的细节

标签: node.js express amazon-ec2


【解决方案1】:

我通过将 express session 中间件的代理标志设置为 true 来解决此问题。希望这对某人有所帮助。

【讨论】:

  • 你在哪里添加了代理标志你可以发布代码吗?
猜你喜欢
  • 2022-08-06
  • 2018-02-12
  • 1970-01-01
  • 2012-09-27
  • 2016-07-06
  • 1970-01-01
  • 2020-04-28
  • 2021-05-30
  • 2018-09-22
相关资源
最近更新 更多