addis_a
September 11, 2014, 11:01am
1
Hi,
I am attempting to configure nginx to avoid caching some data.
map $http_x_requested_with $no_cache {
default 0;
"XMLHttpRequest" 1;
}
fastcgi_cache_bypass $no_cache;
fastcgi_no_cache $no_cache;
With above configuration exceptions works fine, but with below - not.
Why?
fastcgi_cache_bypass $http_x_requested_with;
fastcgi_no_cache $http_x_requested_with;
With above config all requests (not only with “X-Requested-With:
XMLHttpRequest”) is bypassed.
–
Cheers,
Vit
Hello!
On Thu, Sep 11, 2014 at 12:01:00PM +0300, wishmaster wrote:
fastcgi_no_cache $no_cache;
With above configuration exceptions works fine, but with below - not. Why?
fastcgi_cache_bypass $http_x_requested_with;
fastcgi_no_cache $http_x_requested_with;
With above config all requests (not only with “X-Requested-With:
XMLHttpRequest”) is bypassed.
Most likely there is some subtle error in the configuration -
e.g., missing “;” after fastcgi_cache_bypass.
The fastcgi_cache_bypass gets an arbitrary number of arbitrary
parameters, and something like:
fastcgi_cache_bypass $http_x_requested_with
fastcgi_no_cache $http_x_requested_with;
is perfectly valid from syntax point of view, but really means
fastcgi_cache_bypass with the “$http_x_requested_with”,
“fastcgi_no_cache” and “$http_x_requested_with” parameters. And
the “fastcgi_no_cache” parameter is always true, hence all
requests bypass the cache.
–
Maxim D.
http://nginx.org/