Proxying to node.js + express.js, session doesn't persist
Maxim Dounin
mdounin at mdounin.ru
Thu Jul 21 11:52:04 UTC 2011
Hello!
On Thu, Jul 21, 2011 at 06:45:00AM -0400, ilya wrote:
> I have Nginx set up to proxy_pass requests to location /api to
> 127.0.0.1:3000, where Node.js is listening.
> Node.js is running a server written with Express.js.
> In my previous project, I used request session in Express to track
> users. In that project, I didn't use Nginx.
> In the current project, I can't use session because it simply doesn't
> save. I can write and read cookies, but not the request session. I
> verified that the issue is in Nginx by running exact same code without
> Nginx and being able to use request session.
How cookies are set? I.e. please show Set-Cookie header from
nginx (or backend) response. I suspect domain attribute doesn't
match hostname of your nginx server, and that's why cookies are
rejected by browsers.
> My nginx.conf is as follows:
>
> http {
> include mime.types;
> default_type application/octet-stream;
>
> sendfile on;
>
> keepalive_timeout 65;
>
> gzip on;
>
> server {
> listen 80;
> server_name 173.203.105.235;
>
> root /home/project/public;
> location ^~ /api/ {
> proxy_pass_header Set-Cookie;
> proxy_pass_header P3P;
Just a side note: these "proxy_pass_header" directives aren't
needed.
> proxy_pass http://127.0.0.1:3000;
> }
> }
> }
Maxim Dounin
More information about the nginx
mailing list