su back-end está enviando "Cache-Control: no-cache" de barniz que implica dos cosas:
- Varnish no almacenará la respuesta en el caché (por lo que fallará una próxima búsqueda)
- Sus clientes (navegadores y proxies intermedios) no almacenarán en caché las respuestas (y las solicitarán una y otra vez).
La solución es simple: eliminar los encabezados de control de caché después de obtener la respuesta del servidor (y antes de almacenarlos en el caché).
En el archivo de VCL hacer:
sub vcl_fetch {
remove beresp.http.Cache-Control;
set beresp.http.Cache-Control = "public";
}
Usted puede optar por hacer esto solamente para ciertas URL (envolverlo en (if req.url ~ "")
lógica) y hacer cosas de forma más avanzada.
Podría ayudar si se le explica lo que quiere. ¿Qué configuración (barniz o su back-end) está enviando encabezados sin caché? Puede anular estos encabezados en Varnish, pero si esto es 'correcto' depende de la semántica de sus respuestas (son reutilizables, sobre clientes, por cuánto tiempo, etc.). – ivy
@ivy, gracias por su respuesta. Lo que intento lograr es que ** Barniz ** envíe encabezados de control de caché que especifico manualmente, independientemente de lo que el back-end envíe a Varnish. –