Proxy Cache-Setting

Hi,

i got a special proxy cache configuration to do and i really don’t know
how
to solve it.

the situation is the following. We use an upstream proxy to be high
availible with our project. The project is a api which uses get und
post-data to calculate something.

the caching is working nice and smoothly, but now we’d like to cut out
some
special calls from the cache.

i’ll try to explain which calls we’d like to cache and which not.

lets say the base url is http://api.domain.tld/calculate
everthing that is behind that base will be send to the api and put into
the
calculation process.

What we’d like to cache is something like:
http://api.domain.tld/calculate/%CUSTOMER_ID%/ (and everything what
comes
behind that url)

And this calls we doesn’t like to cache:
http://api.domain.tld/calculate/?calc=23+45
http://api.domain.tld/calculate?calc=23*45

i tested really much, with different location settings, but everytime i
add
the location
/calculation/ the POST Requests gets a 404 and nothing works anymore.

If somebody has a oppinion how i can solve this problem, it would be
really
nice to hear.

thanks a lot
masterth

Posted at Nginx Forum:

Hi,

You probably want to look into the proxy_cache_bypass and proxy_no_cache
directives:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_bypass

http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_no_cache

On Sat, Dec 06, 2014 at 06:49:44PM -0500, MasterTH wrote:

Hi there,

What we’d like to cache is something like:
http://api.domain.tld/calculate/%CUSTOMER_ID%/ (and everything what comes
behind that url)

And this calls we doesn’t like to cache:
http://api.domain.tld/calculate/?calc=23+45
http://api.domain.tld/calculate?calc=23*45

It looks like a fairly straightforward three-location system, since you
have three url types that you want handled differently.

location = /calculate {
proxy_pass…;
}
location = /calculate/ {
proxy_pass…;
}
location /calculate/ {
proxy_pass…;
proxy_cache…;
}

I guess that if you already proxy_cache everything, set it to “off”
in the two exact locations.

f

Francis D. [email protected]

hi,

thanks a lot!!!

it seems to work, we’ll have to test. I’ll report back

kind regards
MasterTH

Posted at Nginx Forum: