Экспресс-сеанс не сохраняется в рабочей среде

#apache #express #passenger #express-session

Вопрос:

Это моя среда сеанса

 var sess = {
    store: new RedisStore({client: redisClient}),
    name: '_yes_',
    secret: 'randomkeyforstackoverflow',
    resave: false,
    saveUninitialized: true,
    cookie: {
        //maxAge: 24*60*60*100*100,
        sameSite: false,
        httpOnly: false
    }
}

if (process.env.NODE_ENV === 'development')
{
    console.log("We are in development mode");
    //app.set('trust proxy', 1);
}
else if (process.env.NODE_ENV === 'testing')
{
    console.log('We are in testing mode')
    //app.set('trust proxy', 1);
}
else
{
    console.log('We are in production');
    app.set('trust proxy', 1);
    sess.cookie.secure = true
    sess.cookie.httpOnly = true
}
 

Что я выяснил до сих пор, так это то, что настройка sess.cookie.безопасность к истине приводит к тому, что файлы cookie не отправляются. Я нахожусь на сервере Apache2, использующем Passenger прямо сейчас, я не обязательно думаю, что в этом есть какая-либо ошибка конфигурации. Я могу отправлять файлы cookie, когда устанавливаю среду для разработки/тестирования, но я не могу отправлять их в производство. Мой сайт явно требует, чтобы вы работали по протоколу HTTPS, и он перенаправляет все HTTP-запросы на HTTPS. Каким-то образом, установив значение secure в true, это не приводит к отправке файлов cookie. Я знаю, что файл cookie устанавливается на стороне сервера, потому что я регистрирую его. Мой Redis также работает, я вижу соединения в информации redis-cli.

Кто-нибудь знает, почему экспресс-сеанс определяет, что браузер небезопасен, если значение secure равно true? Я думал, что, находясь на https, это будет считаться безопасным по умолчанию.

Спасибо