禁用JavaScript文件的nginx缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁用JavaScript文件的nginx缓存相关的知识,希望对你有一定的参考价值。

好吧,我几乎放弃了这个,但是如何禁用nginxjavascript文件的缓存?我正在使用Nginx的docker容器。当我现在改变JavaScript文件中的内容时,我需要多次重新加载,直到新文件存在。

我怎么知道它是Nginx而不是浏览器/码头工具?

浏览器:我在命令行上使用curl来模拟请求并遇到了同样的问题。此外,我正在使用CacheKiller插件并在Chrome开发工具中禁用缓存。

Docker:当我连接到容器的bash,并在更改文件后使用cat时,我立即得到正确的结果。

我将nginx.confsites-enabled更改为this(我在另一个stackoverflow线程中找到)

location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|xml|html|htm)$ {
    # clear all access_log directives for the current level
    access_log off;
    add_header Cache-Control no-cache;
    # set the Expires header to 31 December 2037 23:59:59 GMT, and the Cache-Control max-age to 10 years
    expires 1s;
}

但是,在重建容器(并确保它在容器中使用cat)之后,它仍然无效。这是完整的.conf

server {
    server_name app;
    root /var/www/app/web;

    # Redirect to blog
    location ~* ^/blog {
        proxy_set_header Accept-Encoding "";
        sub_filter 'https://testproject.wordpress.com/' '/blog/';
        sub_filter_once off;
        rewrite ^/blog/(.*) /$1 break;
        rewrite ^/blog / break;
        proxy_pass     https://testproject.wordpress.com;
    }

    # Serve index.html only for exact root URL
    location / {
        try_files $uri /app_dev.php$is_args$args;
    }

    location ~ ^/(app|app_dev|config).php(/|$) {
        fastcgi_pass php-upstream;
        fastcgi_split_path_info ^(.+.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
        # Prevents URIs that include the front controller. This will 404:
        # http://domain.tld/app_dev.php/some-path
        # Remove the internal directive to allow URIs like this
        internal;
    }

    location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|xml|html|htm)$ {
        # clear all access_log directives for the current level
        access_log off;
        add_header Cache-Control no-cache;
        # set the Expires header to 31 December 2037 23:59:59 GMT, and the Cache-Control max-age to 10 years
        expires 1s;
    }


    error_log /var/log/nginx/app_error.log;
    access_log /var/log/nginx/app_access.log;
}

以上是关于禁用JavaScript文件的nginx缓存的主要内容,如果未能解决你的问题,请参考以下文章

lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链

lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链

lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链

开发人员工具中的禁用缓存选项不起作用

nginx 缓存策略实现方案

nginx 缓存机制