Nginx:缓存命中没有发生

Nginx:缓存命中没有发生

我有一个页面nginx如下

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;
}

缓存设置如下

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

但此页面总是返回未命中

在此处输入图片描述

可能出了什么问题?

答案1

如果你的后端响应有一个 Set-Cookie 标头,你需要proxy_ignore_headers设置 Cookie;而不是 proxy_hide_header 设置 Cookie;

相关内容