nginx cache seems to swallow Set-Cookie
    pertl 
    nginx-forum at nginx.us
       
    Thu Sep  2 17:02:15 MSD 2010
    
    
  
I run nginx 0.7.67 as a frontend proxy and cache for my Java application
running on jetty 7 using proxy_pass and proxy_cache.
nginx runs on port 80, the java app on 8080.
The very first thing the java application does when I call it in the
browser ( http://localhost ) is create a new http session and send a 302
redirect to the login page. The response contains a new "Set-Cookie:
JSESSIONID=65omgcih3oif15g2yc1szsos;Path=/" with some new random session
ID. The 302 also contains a "Cache: no-cache" so the 302 temporary
redirect never gets cached which is what we want.
Now what I experience is that nginx returns the java app server response
with all but the "Set-Cookie". It's definitely there and nginx
definitely removes it.
This is a real pain and will break my app (and possible others).
So is there such a thing like a "cookie-stripper-during-http-status-302"
?
this is my config:
----------------------------
user nobody nogroup;
worker_processes 4;
error_log  logs/error.log  info;
pid        logs/nginx.pid;
events {
	worker_connections  256;
}
http {
	include		mime.types;
	default_type	application/octet-stream;
	sendfile	on;
	gzip on;
	gzip_comp_level 2;
	gzip_proxied any;
	gzip_min_length  1100;
	gzip_buffers 16 8k;
	gzip_types text/plain text/css application/x-javascript text/xml
application/xml application/xml+rss text/javascript image/gif image/jpeg
image/png;
	upstream jetty {
		ip_hash;
		server localhost:8080;
                # more will follow
	}
	proxy_temp_path /usr/local/nginx-0.7.67/tmp;
	proxy_cache_path /usr/local/nginx-0.7.67/cache/default levels=1:2
keys_zone=default:8m max_size=1000m inactive=600m;
	proxy_cache_valid 200 302 60s;
	proxy_cache_key "$scheme://$host$request_uri";
	server
	{
		listen        80;
		listen        [::]:80 default ipv6only=on;
		location / {
			proxy_cache default;
			proxy_pass http://jetty/;
			proxy_redirect     default;
			proxy_set_header   Host			$host;
			proxy_set_header   X-Forwarded-Host	$host;
			proxy_set_header   X-Real-IP		$remote_addr;
			proxy_set_header   X-Forwarded-For	$proxy_add_x_forwarded_for;
		}
	}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,126312,126312#msg-126312
    
    
More information about the nginx
mailing list