Nginx:禁用缓存特定文件名

时间:2018-02-14 10:17:40

标签: caching nginx service-worker vesta

我的服务器使用 VestaCP 运行多个网站。每个网站都有不同的公共html文件夹和特定的nginx.conf文件。 (通配符nginx包括)
我试图在特定的文件名上禁用nginx中的缓存...

我知道如何禁用特定文件的缓存但我想在文件命名时禁用nginx.conf中的缓存" hello.js" (无论从哪个站点/位置交付)。

示例

https://example.com/hi.js = cached  
https://example.com/hello.js = not cached  
https://example.com/test/hello.js = not cached  
https://example.org/index.js = cached  
https://example.org/me/hello.js = not cached  

我知道如何在特定于域的snginx.conf中的1个特定文件上禁用缓存,但我宁愿有一条规则禁用每个文件的缓存,名称为#34; hello.js"。

server {
    listen 443 http2;
    server_name example.com;
    location /hello.js{
        add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
        expires -1;
    }
}

如何禁用所有" hello.js"文件(也在服务器上托管的其他域上)?

(我问这个问题,因为我和服务工作者一起工作,服务工作者的javascript文件不应该被缓存。如果浏览器缓存了service-worker文件,那么当缓存时永远不会加载新版本名称已更改。)

0 个答案:

没有答案