Nginx proxy cache doesn't update cache-control max-age time!

Maxim Dounin mdounin at mdounin.ru
Mon Apr 6 15:58:31 UTC 2020


Hello!

On Mon, Apr 06, 2020 at 10:26:04AM -0500, J.R. wrote:

> This was driving me crazy and I think I've figured out the problem.
> 
> I started using the proxy cache (which is great, saves regenerating a
> lot of dynamic pages), except a bunch of my pages expire at a very
> specific time, at the start of the hour, and my cache-control /
> expires headers reflect that, because that's when the data is updated.
> 
> I started noticing stale pages shortly thereafter. Watching the
> headers I realized that the 'max-age' time wasn't decreasing like it
> should be, thus pages would end up being cached by clients longer than
> they should be as I guess browsers consider this the most 'modern'.
> 
> Is there a setting I'm missing, or is there a way to have nginx
> dynamically update the max-age while still maintaining the proxy
> cache?

There is no Age header support in nginx as of now (relevant ticket 
in Trac: https://trac.nginx.org/nginx/ticket/146).  If you want 
pages to expire at a specific time regardless of intermediate 
caching, consider using the "Expires" header.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx mailing list