nginx反向代理禁用缓存

nginx反向代理禁用缓存,nginx,nginx-reverse-proxy,no-cache,Nginx,Nginx Reverse Proxy,No Cache,我使用nginx作为反向代理来连接api。问题是当我在添加或删除某个内容后发送查询时。Nginx将旧的json值发送给我。我试图禁用缓存,但它不工作 我的nginx配置: location / { sendfile off; add_header Last-Modified $date_gmt; add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';

我使用nginx作为反向代理来连接api。问题是当我在添加或删除某个内容后发送查询时。Nginx将旧的json值发送给我。我试图禁用缓存,但它不工作

我的nginx配置:

location  / {

  sendfile off;
  add_header Last-Modified $date_gmt;
  add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
  if_modified_since off;
  expires off;
  etag off;
  proxy_no_cache 1;
  proxy_cache_bypass 1;

  proxy_pass http://127.0.0.1:5000;
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header HTTPS   $https;
}
我尝试了在没有nginx的情况下进行查询,并且在控制台中都运行良好


谢谢大家!

根据您必须更换的文档

proxy_no_cache 1;
proxy_cache_bypass 1;
代理\u无\u缓存代理\u缓存\u旁路定义了不将响应保存到缓存的条件

然后,要禁用缓存,可以将这两个条件替换为

代理缓存关闭

这里是一个完整的示例,您可以使用它为无状态api服务器配置代理

location /myapi {

        # Proxy 
        proxy_set_header                X-Localhost true;
        proxy_set_header                X-Real-IP $remote_addr;
        proxy_set_header                X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass                      http://localhost:8080/myapi;

        proxy_redirect                  off;
        proxy_buffers                   32 16k;
        proxy_busy_buffers_size         64k;
        proxy_cache                     off;


        # Headers for client browser NOCACHE + CORS origin filter 
        add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        expires off;
        add_header    'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
        add_header    'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;

        allow all;
    }

后端应用程序正在缓存它吗?不,当我在console服务器中进行查询时。这是发送所有时间的好JSONLY,这是我的后端。。。我在关闭数据库中的会话时出错。升级到ES 7.7后,我丢失了“proxy_cache off”。你让我开心,非常感谢你!