question about proxy_cache_valid
s0cke at leech.it
s0cke at leech.it
Fri Sep 11 17:13:21 MSD 2009
Maxim Dounin wrote:
>> So when I use "proxy_cache_use_stale off;" which is default, nginx will
>> request the file again from the backend, if the time in
>> "proxy_cache_valid" is over?
>
> Yes.
This did not work for me at all.
>>>> For some reason my cache still contains a file, that has been
deleted
>>>> on my backend 10 hours ago. Both, proxy_cache_valid and inactive=
>>>> are set to 2h. Maybe the two settings have different meanings and I
>>>> do not understand yet.
>>> Which version? From the description it looks like a bug fixed in
>>> 0.8.14:
>>>
>>> *) Bugfix: an expired cached response might stick in the "UPDATING"
>>> state.
>>>
>>> If you see this in 0.8.14 - please provide more details.
>> I am using the stable version (0.7.61). Do I have to update to 0.8.14 in
>> order to get this working? I'm not sure whether it's my config or a bug.
>
> Stable doesn't have this fix yet, so you either have to upgrade or
> wait for fix to be merged. No idea when merge will happen though.
>
So I updated to 0.8.14, but still the files were in the nginx cache for
hours even though I deleted them on the backend.
Then I stumbled on this topic: http://forum.nginx.org/read.php?2,2182
After adding "proxy_ignore_headers Expires Cache-Control;" to my config,
the cache started working as expected.
Especially this part is interesting:
This just means that upstream's caching instructions are more important
than proxy_cache_valid, right?
Yes, the order is
X-Accel-Expires
Expires/Cache-Control
proxy_cache_valid
I think this should be added to the wiki to "proxy_cache_valid".
There already is a small hint to that behavior in the wiki at
"proxy_cache" but I think this is not enough (at least it wasn't for me).
Well, now it works perfectly and I'm happy :)
More information about the nginx
mailing list