Quantcast
Channel: Nginx Forum
Viewing all articles
Browse latest Browse all 53287

if-none-match with proxy_cache : properly set headers

$
0
0
Hi,
i struggled a little to get nginx to cache 304 responses from backend using proxy_cache.
What happens when configuring proxy_cache is that 304 responses are not happening because
nginx strips If-None-Match request headers. It is a workaround to prevent the client from getting
an empty response event if he did not send If-None-Match in the header.
A better workaround can be :

proxy_cache_key $http_if_none_match$scheme$proxy_host$request_uri;

So that the cache sends 304 if the header is properly set, and 200 if it isn't.
Of course one has to kill the first workaround :

proxy_set_header If-None-Match $http_if_none_match;

and cache both responses :

proxy_cache_valid 200 304 1h;

Comments welcome.

Viewing all articles
Browse latest Browse all 53287

Trending Articles