resolve/refinerycms — Issue #1206: HTTP header 'Cache-Control'=private breaks reverse proxy caches
Author: ms-ati
Created: 2012-01-05 03:43:45+00:00
State: open

I see this conversation from early 2010, looks like this was made to work at one time?
http://groups.google.com/group/refinery-cms/browse_thread/thread/f51f4dd399115226

However, unless I'm missing something, it doesn't seem to be working.

On a fresh Refinery CMS install on Heroku, the public pages appear to never be cached by Varnish, because the 'Cache-Control' header is returned as 'private'.

```bash
$ curl -I "http://usainnov.com/blog"
HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Thu, 05 Jan 2012 03:31:15 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Etag: "8b36edadbb6f60214299ee6649df625d"
Cache-Control: max-age=0, private, must-revalidate <== PREVENTS REVERSE-PROXY CACHE
X-Ua-Compatible: IE=Edge,chrome=1
Set-Cookie: _usainnov_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRiIlNWNhY2RhODIwZmJjNTg3MmExNGM5NGNkYTdjNjEzOTNJIhBfY3NyZl90b2tlbgY7AEZJIjFJK3YzR2diQ1lUQ1BvZGZuRVYwY25SblNYSktSOWVyeVd0SDUvdldVYS8wPQY7AEY%3D--a69bc927d8ccb5b4c98f2d150f79371d3c608353; path=/; HttpOnly
X-Runtime: 0.164026
X-Rack-Cache: miss
Content-Length: 0
X-Varnish: 2058697188
Age: 0
Via: 1.1 varnish
```

It seems to me that a CMS ought to allow browsers and reverse proxy caches to cache their pages, or have a setting to allow this, do you agree?

An _extremely_ clear explanation here:
http://railslab.newrelic.com/2009/02/26/episode-11-advanced-http-caching