gpt4 book ai didi

node.js - 快速 session 安全Cookie无法正常工作

转载 作者:行者123 更新时间:2023-12-01 04:48:41 24 4
gpt4 key购买 nike

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

最佳答案

对我有用的设置组合:

  • nginx 服务器配置中,添加proxy_set_header X-Forwarded-Proto $scheme;
  • 快速 session 配置中:
    server.use(
    session({
    proxy: true, // NODE_ENV === 'production'
    cookie: {
    secure: true, // NODE_ENV === 'production'
    },
    // everything else
    })
    );
  • 关于node.js - 快速 session 安全Cookie无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44039069/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com