Fastly is a CDN provider that uses Varnish. By changing the CNAME of a sub domain, it is possible to serve a response from Fastly. If a Varnish cache record exists, this is served to the user, if not, Fastly makes a request to the web server (Rackspace) and saves the result for future requests. This allows us to serve all current Varnish requests through a CDN. The advantage of this is that the pages will be delivered much quickly in different locations around the global.

Developers can use live Varnish config locally

I'm copying our live Varnish config from w4 to our Varnish config in Vagrant (which until now has been relatively untouched). Our w4 Varnish config has had quite a bit of work done on it, so is very different from the out-of-the-box config.

As part of this work, I'll look to refactor, clean up and add comments to the live Varnish config.

Setting up Varnish and Nginx test cloud servers for API test

Server setup

Created two new Ubuntu 14 servers at

Changed root passwords to phoenix10

Rackspace name: api-test-nginx
ip address:
root: phoenix10

Rackspace name: apt-test-varnish
ip address:
root: phoenix10

Domain setup

Created three new A records on the domain, all pointing at the Nginx server:

Varnish information


Varnish is an HTTP accelerator and caching reverse proxy. It sits in front of Apache and used to serve cached content to anonymous users. This provides a significantly faster page response takes the load of the back-end servers.

Manually purging URLs from Varnish

You can manually purge URLs from Varnish by running either of the commands below.

In this example, the ATB Contact Us page is removed from the cache:

# Method 1, using curl (can be run anywhere)

curl -X PURGE --head ''


# Method 2, using varnishadm (needs to be run on the Varnish server)

Drupal / Varnish integration