how to add Cache-Control: public to static files

Jauder Ho lists at
Tue Oct 6 06:17:20 MSD 2009

Hi, I have nginx set up to serve static content and to set it to maximum
expires currently. However, I would also like to set the Cache-Control
flag to public so that proxies will know that this is okay to cache.
However, when I try this using the add_header directive, this adds an
additional Cache-Control: header instead of modifying the existing one.

nginx config fragment:
    location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ {
        access_log off;
        expires max;
        add_header Cache-Control public;

what I get using curl:
HTTP/1.1 200 OK
Date: Tue, 06 Oct 2009 02:12:27 GMT
Content-Type: image/gif
Content-Length: 96
Last-Modified: Thu, 17 Sep 2009 01:51:06 GMT
Connection: close
Vary: Accept-Encoding
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Cache-Control: public
Accept-Ranges: bytes
Posted via

More information about the nginx mailing list