Чтобы мой веб-приложение было готово к работе, я хотел установить для свойства сеансового cookie "secure" с false на true.Приложение размещено на Aws и построено следующим образом:
Route53 -> CloudFront -> ELB (без кластера, только SingleApp)
CloudFront используется, чтобы сделать приложение доступным через SSL.Приложение Nodejs прослушивает порт HTTP.К сожалению, SessionCookie не установлен.
Если я установил для параметра безопасности значение false, логин работает, и файл cookie сеанса установлен.Так что это только кажется, зависит от этого свойства.Я также установил для доверенного прокси значение true, но, к сожалению, безуспешно.
Express.js:
const ExpressApp=express();
ExpressApp.set("trust proxy", (ip)=>{
return true;
});
...
сеанс:
const expiryDate = new Date( Date.now() + 60 * 60 * 1000 ); // 1 hour
return session({
genid: (req) => {
return uuid() // use UUIDs for session IDs
},
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: true,
proxy:true,
store: new MongoStore({ mongooseConnection: mongoose.connection }),
rolling: true,
cookie:{
secure:true,
httpOnly:true,
expires: expiryDate
}
})
CloudFront: https://pasteboard.co/Ib9mTED.png