【发布时间】:2017-10-17 18:07:40
【问题描述】:
当不使用安全 cookie true 设置时,我的应用用户登录工作正常。当我启用安全 cookie 时,登录似乎正常,但似乎 cookie 未保存且用户未登录。
换句话说,这是可行的:
app = express();
app.use(session({
secret: 'secret code',
store: sessionStore,
resave: false,
saveUninitialized: false,
cookie: {
secure: false,
maxAge: 5184000000 // 60 days
}
}));
这不起作用(用户无法登录):
app = express();
app.set('trust proxy');
app.use(session({
secret: config.cookieSecret,
store: sessionStore,
resave: false,
saveUninitialized: false,
proxy: true,
secureProxy: true,
cookie: {
secure: true,
httpOnly: true,
maxAge: 5184000000 // 60 days
}
}));
在 cloudflare 和 nginx 之后。这是在我的 nginx 配置中:
location ~ / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:3000;
}
根据我的阅读,我认为它应该有效。我错过了什么?
编辑:我正在使用有效的 ssl 证书运行 https。
【问题讨论】:
标签: node.js express nginx express-session