No puedo ver una pregunta similar, pero me disculpo si estoy engañando.Cómo enviar una solicitud de purga en el barniz
Estamos ejecutando un caché de barniz en nuestro sistema, pero queremos instalar un sistema en el que podamos purgar páginas individuales cuando se editan (bastante normal). Hemos estado tratando de hacer que funcione usando un encabezado HTTP. Por lo tanto, nuestra VCL está configurado como:
acl purge {
"localhost";
#### Our server IP #####
}
sub vcl_recv {
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Not allowed.";
}
return (lookup);
}
}
sub vcl_hit {
if (req.request == "PURGE") {
purge;
}
}
sub vcl_miss {
if (req.request == "PURGE") {
purge;
}
}
Sin embargo, estoy atascado en la forma de enviar realmente la petición http purga. Estamos utilizando PHP para el sitio web, así que hemos intentado usar:
header("PL: PURGE/HTTP/1.0");
header("Host: url to purge");
pero esto no parece hacer nada (y no parece varnishlog para mostrar nada purga).
También he experimentado con cURL pero, una vez más, parece que no funciona. ¿Me estoy perdiendo algo realmente básico aquí, o es la base sólida, lo que significa que mi implementación está estropeada?
Muchas gracias,
Yup, PURGE es una solicitud HTTP como GET o POST, aunque es posterior a RFC 2616, pero es utilizada por cachés de contenido y proxies como Squid, Varnish y Apache Traffic Server. Un google rápido de "PURGE curl_setopt" vomitó [este ejemplo] (http://www.rwahyudi.com/linux/purge-squid-cache-using-curl-without-squidclient/). Disfruta :) – TerryE
¡Muchas gracias a los dos! ¡Muy agradecido! :) – flukeflume
O para más enfoques ad-hoc o guiados por secuencias de comandos, también puede usar 'curl -XPURGE" http: //su.varnish.cache/url-to-purge "' –