Nginx doesn't honor Cache-Control: no-cache _request_

?? bing_ran at hotmail.com
Mon Aug 3 17:01:12 MSD 2009


A much needed feature. I'm looking forward to it.

--bing


--------------------------------------------------
From: "Igor Sysoev" <is at rambler-co.ru>
Sent: Monday, August 03, 2009 7:17 PM
To: <nginx at sysoev.ru>
Subject: Re: Nginx doesn't honor Cache-Control: no-cache _request_

> On Mon, Aug 03, 2009 at 12:41:31PM +0200, Miros??aw Jaworski wrote:
> 
>> Hello 
>> 
>> RFC2616 14.9.4 Cache Revalidation and Reload Controls
>> "End-to-end reload" 
>> [...]The server MUST NOT use a cached copy when responding to such a
>> request[...]
>> 
>> Such a request can be triggered from the browser by holding SHIFT
>> and using reload button; it's often used by web developers to get
>> uncached response from the original server. Unfortunately nginx seems
>> to ignore such request and answers from the cache.
>> 
>> Is it possible to make a quick workaround bypassing the cache for such
>> requests using some request header variable conditional if?
>> 
>> server {
>>         listen       127.0.0.1:8000;
>>         server_name  localhost;
>> 
>>         location / {
>>             proxy_pass         http://192.168.10.10:80/;
>>             proxy_redirect     off;
>> 
>>             if ($request_header !~ "Cache-Control: no-cache") {
>>               proxy_cache        one;
>>               proxy_cache_valid  200 1h;
>>             }
>>             proxy_pass_header  Set-Cookie;
>> 
>>             proxy_set_header Host             $host;
>>             proxy_set_header X-Real-IP        $remote_addr;
>>             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>         }
>>     }
>> 
>> ?
> 
> No, currently nginx ignores the reload because everyone may flush
> popular and heavy generated pages from your cache.
> I plan to allow reload only from limited set of addresses.
> 
> 
> -- 
> Igor Sysoev
> http://sysoev.ru/en/
> 
> 





More information about the nginx mailing list