NGINX、代理缓存和动态 URI

NGINX、代理缓存和动态 URI

我有一个 NGINX 反向代理,位于 node.js 服务器(express)前面。配置非常简单。我遇到的问题是 NGINX 的代理缓存功能。以下是设置。

http {
  proxy_cache_path /tmp/nginx/zone1 levels=1:2
                     keys_zone=zone1:10m max_size=10g
                     inactive=10m use_temp_path off;
  ...
  server {

    ...
    location /assets/ {
      proxy_pass $frontend$request_uri;
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_cache zone1;
      proxy_cache_valid 200 302 10m;
      proxy_cache_lock on;
      add_header X-Proxy-Cache $upstream_cache_status;
      access_log off;
    }
    ...
  }
  ...
}

我们的资产 URI 如下所示/assets/1.0.0/(.css|.js|.png|etc..)。我们在构建时更新 URI 中的版本,因此版本会经常更改,我假设这应该会使 无效,proxy_cache_key并且 NGINX 应该返回上游以获取新的资产。但这从未发生过。我只剩下没有样式的 html 页面。

一旦我手动清除缓存文件并发出,nginx -s reload一切就都好了。我遗漏了什么吗?非常感谢!

相关内容