The settings in settings.php will override any configurations you (try) to choose in the Drupal UI: /admin/config/development/performance .
$conf['cache_lifetime'] = 0;
$conf['page_cache_maximum_age'] = 21600;
These two settings would override whatever cache timings you set in the Drupal UI.
The maximum_age setting (for example 6 hours) will display in your headers as:
Cache-Control:public, max-age=21600
After making changes to the max-age and clearing the cache, if you do not see the changes reflected in the Response Headers it may be worth looking towards nginx for the answer.
As per Q&A: https://stackoverflow.com/questions/19002567/nginx-add-header-and-cache-control .
It does provide good information about how cache headers are, or can be set in Nginx.
page_cache_maximum_age
value (the next selection onadmin/config/development/performance
) for its cache lifetime whereby Drupal will use the one mentioned in your question to manage its internal page cache.admin/config/development/performance
on your system, what are you setting the second cache parameter to, eg the one labeledExpiration of cached pages
and with the descriptionThe maximum time an external cache can use an old version of a page.
? Or are you on Drupal 6 and not seeing this?curl -I www.example.com/node/1
or something similar in your question? because out of the box "this just works" but it is sounding like some module you have installed is doing something somewhere and perhaps it will leave some trail in the headers...