I\'m trying to use http caching. In my controller I\'m setting a response as follows:
$response->setPublic();
$response->setMaxAge(120);
$response->set
The behavior you experience is intended. Symfony2 Docs explicitly describe the situations when private and public are used, default being private.
I have faced same problem. I had to supply 'public' headers my cdn. By default when gateway caching is enabled in prod mode, it returns 200 OK with private, nocache must validate headers.
I solved problem this way.
In app.php, before I send response to user ($respond->send), I have overwritten the cache control header to blank and set cache headers to public and max age(some value).
//code snippet from app.php
$response = $kernel->handle($request);
$response->headers->set('Cache-Control', '');
$response->setPublic();
$response->setMaxAge(86400);
$response->send();