Nginx cache expire settings issue.Can anyone help?

Hi I am new to Nginx. I need to add expire -1 for my JSON files in the
below
urls

https://siteaddress/foldername /default.htm#/dashboard/ui.json

location /foldername {
index default.html default.htm;
proxy_pass http://siteaddress_eapp_entry;
}

I have tried below syntax but still JSON files are caching

location \foldername .(json)$ {
expires -1;
}

Please help anyone to solve my issue,Thanks in advance.

Posted at Nginx Forum:

you do not caching anything with proxy_pass alone.
you should use proxy_cache in conjunction.

Hello!

On Thu, Dec 11, 2014 at 06:32:52AM -0500, anoopov wrote:

Hi I am new to Nginx. I need to add expire -1 for my JSON files in the below
urls

https://siteaddress/foldername /default.htm#/dashboard/ui.json

location /foldername {
index default.html default.htm;
proxy_pass http://siteaddress_eapp_entry;
}

In the URL provided “#/dashboard/ui.json” is a fragment, and will
not be sent to the server.

I have tried below syntax but still JSON files are caching

location \foldername .(json)$ {
expires -1;
}

This is syntactically incorrect and will cause syntax error due to
space in it.

If the “#” above is just a typo, then you can use something like
this to disable caching of *.json files within “/foldername”:

location /foldername {
    proxy_pass ...

    location ~ \.json$ {
        expires epoch;
        proxy_pass ...
    }
}

Note that:

  • the “~” is important as it marks regex location, see
    Module ngx_http_core_module for details;

  • proxy_pass have to be repeated in the nested location.

More about locations can be found in the documentation, see
Module ngx_http_core_module.


Maxim D.
http://nginx.org/