O seu problema é que o pedido de eliminação está sendo tratado pelo ClodFlare em vez do verniz.
Tenha em mente que:
- No Varnish 3, você deve usar
purge;
em vez deset obj.ttl = 0s;
-
O verniz resolverá o objeto usando
vcl_hash
. No Varnish 3 isto significa, por padrão [1], que o req.url será usado junto com o cabeçalho HTTP "Host" ou, se não estiver presente, o IP do servidor:sub vcl_hash { hash_data(req.url); if (req.http.host) { hash_data(req.http.host); } else { hash_data(server.ip); } return (hash); }
- Você pode substituir
vcl_hash
para atender às suas necessidades
Por favor, dê uma olhada na documentação [2] e na informação do Livro de Varnish [3] em Bans & Remoções
Na minha opinião, você tem que opções:
- Emita as purgas diretamente para o verniz contornando CloudFlare, usando diretamente
curl -H "Host: _host_wich_has_the_url_to_purge" -X PURGE http://_varnish_ip_:_varnish_port/_url_to_purge_
- Tente adicionar os intervalos de IP da CloudFlare ao seu
acl purge
(não recomendado) e instrua o CloudFlare a passar essas solicitações para o Verniz.
[1] link
[2] link
[3] link