Varnish Cache is a high performance reverse proxy with an easy-to-use configuration language. However, there are lots of things that you cannot do by default in a Varnish configuration file. For example, you cannot reliably read response cookies because Varnish only reads the first “Set-Cookie” header.
Therefore, you sometimes need to use Varnish extensions, called “modules” or “VMODs” to provide additional functionality. One of the most popular modules is the “header” module, which enables you to reliably read response cookies, among other things. You have to compile Varnish modules and place them in the “vmods” folder, which is typically /usr/libs64/varnish/vmods. Before Varnish 4, you had to compile them against the source code of Varnish itself. Starting from Varnish 4, you can compile them against the running Varnish installation. In other words, you should be able to just download the module code, then run the commands ./configure, make, and make install from the downloaded module code directory. You just have to install the “varnish-lib-devel” package using “yum” on CentOS / Red Hat (or “libvarnishapi-dev” using “apt-get” on Debian / Ubuntu).
Compiling code is a rather foreign concept for many developers and it would be nice to have the compiled Varnish module files for the major operating system versions available for download. That would make the installation process much easier! Here is the Varnish “header” module compiled against Varnish 4.0.2 on 64-bit CentOS 6.5.