Recientemente agregué una instancia de Varnish a una pila de aplicaciones de Rails. Barniz en su configuración por defecto puede estar convencido de almacenamiento en caché de un determinado recurso mediante el encabezado Cache-Control, así:¿Cómo controlar el barniz y un navegador usando Cache-Control: encabezado de máxima edad en un entorno Rails?
Cache-Control: max-age=86400, public=true
que logra que uno utilizando la sentencia expires_in en mis controladores:
def index
expires_in 24.hours, public: true
respond_with 'some content'
end
que funcionó bien. Lo que no esperaba es que el encabezado Cache-Control TAMBIÉN afecte al navegador. Eso lleva al problema de que ambos: Barniz y el navegador de mis usuarios almacenan en caché un cierto recurso. El recurso se depura del barniz correctamente, pero el navegador no intenta volver a solicitarlo a menos que se alcance la edad máxima.
Entonces me pregunto si debería usar 'expires_in' en combinación con Varnish en absoluto? Podría filtrar el encabezado Cache-Control en una instancia de Nginx o Apache frente a Varnish, pero parece extraño.
¿Alguien puede aclararme?
Saludos Felix
Me encuentro con el mismo problema. ¿Has encontrado una solución? – MotoTribe
Ver mi comentario a continuación. – GeorgieF