【发布时间】:2021-01-15 22:31:35
【问题描述】:
我看过 this answer 和 this answer 但没有骰子。我的问题是,当通过https://appname.herokuapp.com 访问我的应用程序时,一切正常。但是当通过https://www.appname.com(CloudFlare 别名为https://appname.herokuapp.com)访问时,它就会崩溃。
具体来说,当用户登录时,身份验证被正确处理,但用户会话cookie设置不正确。因此,当登录的用户被转发到下一个屏幕时,请求会被拒绝为未经授权的。
现在我正在快递中这样做:
var mySession = session({
key: "sid",
secret: process.env.SESSIONS_SECRET,
proxy: true,
cookie: {
maxAge: 86400000,
secure: true,
},
store: rDBStore,
resave: false,
saveUninitialized: true,
unset: 'destroy'
});
app.enable('trust proxy');
app.use(mySession);
我的节点代码或 CloudFlare 设置中是否缺少某些内容?
【问题讨论】:
-
我也有同样的问题。你解决了吗?
-
@Marc,不,不幸的是我从来没有这样做过。
-
你能解决这个问题吗?通过使用 app.set('trust proxy', 1)
标签: node.js cookies heroku https cloudflare