Ich verwende Express-Session-Modul mit Redis-Verbindung und Nginx-Proxy. Wenn ich es mit secure: false verwende, ist der sid cookie gesetzt. Aber wenn ich es absichern will, tut es das nicht. Ich setze einen anderen Cookie direkt mit Express und sicher: true und es funktioniert.Verwenden von Nodejs-Modul Express-Sitzung mit Sicherheit funktioniert nicht
Express-Session config in Express:
//proxy configuration
app.set('trust proxy', 1); // trust first proxy (ngnix proxy)
//session
app.use(session({
secret: 'to-secret-to-show',
resave: false,
saveUninitialized: true,
rolling: true,
cookie: {
httpOnly: true,
sameSite: 'strict',
secure: secure
},
store: new RedisSessionStore({
client: redis,
ttl: 86400, //time to life, one day
}),
}));
Wenn sicher ist wahr oder falsch ist abhängig vom dem envirement gesetzt. Ich versuche es direkt auf wahr zu setzen, mache aber keine Änderungen.
nginx Proxy-Einstellungen:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
#proxy_set_header X-Forwarded-Host $http_host;
proxy_pass http://nodejs;
proxy_redirect off;
Wenn ich mir Dokumentation Dateien, die es richtig sein sollte. Habe ich etwas vergessen? Ich kann nicht zu schweren Tests machen, weil ich nur mein Live-System mit sicheren Verbindungen habe.