diff --git a/templates/haproxy_cfg b/templates/haproxy_cfg
index f355dbe5a013b1dac0ee1dd2091af4ec2afb47ed..051a768d084b1f2613a0a5c3f93e955c620d8545 100644
--- a/templates/haproxy_cfg
+++ b/templates/haproxy_cfg
@@ -90,6 +90,8 @@ frontend http_in
 {% endfor %}
   acl domain_uses_bigpipe hdr(host) -i -n -f /etc/haproxy/use_bigpipe.list
 {% if varnish_host|default(false) %}
+  acl is_purge method PURGE
+  use_backend backend_varnish if is_purge
   acl domain_ignores_varnish hdr(host) -i -n -f /etc/haproxy/ignore_varnish.list
   use_backend backend_varnish_bigpipe if domain_uses_bigpipe !domain_ignores_varnish
   acl static_content path_end .jpg .jpeg .gif .png .ico .swf .css .js .htm .html
@@ -208,6 +210,7 @@ backend backend_{{host}}_https_bigpipe
 
 backend backend_varnish
   option httpchk HEAD /varnishcheck
+  http-request set-header x-real-ip %[src]
   http-check expect status 200
   option forwardfor
   hash-type consistent