arquivo de configuração do varnish 3.0 para WordPress.

# /etc/varnish/default.vcl
backend
default {
.host = "127.0.0.1";
.port = "8080";
}

sub vcl_recv {
# Add a unique header containing the client address
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;
# Let's make sure we aren't compressing already compressed formats.
if (req.http.Accept-Encoding) {
if (req.url ~ ".(jpg|png|gif|gz|tgz|bz2|mp3|mp4|m4v)(?.*|)$") {
remove req.http.Accept-Encoding;
} elsif (req.http.Accept-Encoding ~ "gzip") {
set req.http.Accept-Encoding = "gzip";
} elsif (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
remove req.http.Accept-Encoding;
}
}
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error
405 "Not allowed.";
}
return(lookup);
}
if (req.url ~ "^/$") {
unset req
.http.cookie;
}
}
sub vcl_hit {
if (req.request == "PURGE") {
set obj.ttl = 0s;
error
200 "Purged.";
}
}

sub vcl_miss {
if (req.request == "PURGE") {
error
404 "Not in cache.";
}
if (!(req.url ~ "wp-(login|admin)")) {
unset req
.http.cookie;
}
if (req.url ~ "^/[^?]+.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(?.|)$") {
unset req
.http.cookie;
set req.url = regsub(req.url, "?.$", "");
}
if (req.url ~ "^/$") {
unset req
.http.cookie;
}
}

sub vcl_fetch {
if (req.url ~ "^/$") {
unset beresp
.http.set-cookie;
}
if (!(req.url ~ "wp-(login|admin)")) {
unset beresp
.http.set-cookie;
}
}

Se você souber como resolver o problema do cookie Worpress, este código irá gerar para a maioria dos plug-ins orientados a cookies, como Woocommerce, compartilhe-o abaixo e atualizarei a postagem de acordo.