Using "proxy_cache" directive with a variable seems to change that variable's value.
Tested against a fresh install of nginx 1.9.6 (default configure parameters) on 2 different Ubuntu:14.04 hosts. DigitalOcean droplets. The following configuration works as expected: It returns 0/1/2 depending on the mimetype returned by the upstream. The returned header is always correct. worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; map $upstream_http_content_type $should_not_cache { default 1; "~image/" 2; "~css" 0; } add_header X-Should-Not-Cache $should_not_cache; server { listen 80; server_name myupstream.com; location / { proxy_pass http://<upstreamip>; proxy_set_header Host $host; } } } This on the other hand always return the default value of the "map" directive (X-Should-Not-Cache always return 1 regardless of whether it's css/image/etc): worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; map $upstream_http_content_type $should_not_cache { default 1; "~image/" 2; "~css" 0; } proxy_cache_path /tmp/low levels=1:2 keys_zone=0:1m inactive=1m max_size=1g; proxy_cache_path /tmp/medium levels=1:2 keys_zone=1:1m inactive=1m max_size=1g; proxy_cache_path /tmp/high levels=1:2 keys_zone=2:10m inactive=10m max_size=1g; proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args"; proxy_cache_methods GET HEAD; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; proxy_cache $should_not_cache; add_header X-Should-Not-Cache $should_not_cache; server { listen 80; server_name myupstream.com; location / { proxy_pass http://<upstreamip>; proxy_set_header Host $host; } } } (basically I'm trying to have different cache zones for different mime types with different time parameters) Also, in the second config, commenting out the "proxy_cache" directive makes the header correct again. Can anybody explain this behavior? Posted at Nginx Forum: https://forum.nginx.org/read.php?2,262527,262527#msg-262527 _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx