eZ Publish 5 being built on top of Symfony 2, it uses standard HTTP cache headers. By default the Symfony 2 reverse proxy, written in PHP, is used to handle cache, but it can be easily replaced with any other reverse proxy like Varnish.
Provided VCL example is given for Varnish 3.x only.
It needs Varnish Curl Vmod to be installed.
The first thing is to configure Varnish to advertise ESI usage and to activate cache invalidation and Context aware HTTP cache.
You can of course add additional rules if you need.
Configure eZ Publish
Update your Virtual Host
New in eZ Publish 5.2 / 2013.07
The front controller can now be altered with environment variables, without the need to modify
By default your front controller (
index.php) uses the built-in reverse proxy,
EzPublishCache. In order to use Varnish, you need to deactivate it by commenting the line where
EzPublishCache is instantiated:
Update YML configuration
Et voilà !