Nginx proxy cache doesn't update cache-control max-age time!
mdounin at mdounin.ru
Mon Apr 6 15:58:31 UTC 2020
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
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.
More information about the nginx