Proxying to node.js + express.js, session doesn't persist
ilya
nginx-forum at nginx.us
Thu Jul 21 15:45:36 UTC 2011
Well, not really, since this happens _only_ when nginx is used.
I and other people use Express sessions and they work, but in my case
nginx somehow breaks them. The fact that session becomes flaky with
introduction of nginx doesn't mean Express is broken, it means that
nginx introduces some change that affects session.
On the backend, sessions stored in Redis.
Looking at my config - does nginx pass all the headers from browser and
backend to each other? Maybe it modifies them somehow? Connect.session,
that Express uses
(https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js)
uses this for fingerprinting:
---
function defaultFingerprint(req) {
var ua = req.headers['user-agent'] || '';
return ua.replace(/;?\schromeframe\/[\d\.]+/, '');
};
---
and gets existing session like so:
---
// get the sessionID from the cookie
req.sessionID = req.cookies[key];
---
So, can it be that nginx constantly modifies UA or filters out cookies?
Or anything else?
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,212747,212766#msg-212766
More information about the nginx
mailing list