2013-01-27 8 views
1

у нас есть приложение node.js/express, сидящее за stunnel для завершения ssl. Я не могу понять, как заставить защищенные сеансовые файлы cookie. глядя на источник промежуточного сеанса:как установить req.connection.proxySecure в node.js/connect приложение за stunnel

// only send secure session cookies when there is a secure connection. 
    // proxySecure is a custom attribute to allow for a reverse proxy 
    // to handle SSL connections and to communicate to connect over HTTP that 
    // the incoming connection is secure. 
    var secured = cookie.secure && (req.connection.encrypted || req.connection.proxySecure); 
    if (secured || !cookie.secure) { 
     res.setHeader('Set-Cookie', cookie.serialize(key, req.sessionID)); 
    } 

я, видимо, придется установить req.connection.proxySecure к истине, но я не знаю, как сделать это. Похоже, stunnel должен сообщить об этом «через HTTP», но stunnel не может устанавливать заголовки. Поэтому я в недоумении. Должен ли я вместо этого попытаться установить его локально с помощью пользовательского бита промежуточного программного обеспечения перед промежуточным программным обеспечением сеанса или в какой-либо переменной конфигурации подключения?

Спасибо за любую помощь

ответ

1

Убедитесь, что прокси-сервер устанавливает заголовок X-Forwarded-Proto: https. Затем вы должны добавить параметр конфигурации proxy:true в промежуточное программное обеспечение сеанса.