2

I have a page in nginx as follows

location = /page {
    proxy_pass http://localhost:82;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_hide_header Set-Cookie;
    access_log off;
    add_header Cache-Control public;
    add_header X-Cache-Status $upstream_cache_status
    proxy_cache             page;
    proxy_cache_key         backend$request_uri;
    proxy_cache_valid       200 302 100d;
    proxy_cache_valid       404      1m;
    proxy_cache_use_stale   error timeout invalid_header;
}

With the cache setting as follows

proxy_cache_path  /tmp/nginx/cache  levels=1:2 keys_zone=page:10m inactive=7d  max_size=50m;

But this page always returns a miss

enter image description here

What could be wrong?

Quintin Par
  • 4,493

1 Answers1

12

If your backend responses have a Set-Cookie header, you need proxy_ignore_headers Set-Cookie; instead of proxy_hide_header Set-Cookie;

kolbyjack
  • 8,287
  • 2
  • 39
  • 31