如果不使用安全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。