Recentemente ho aggiunto un'istanza di Varnish a uno stack di applicazioni Rails. Varnish nella sua configurazione di default può essere convinto dalla cache una certa risorsa utilizzando l'intestazione Cache-Control in questo modo:Come controllare Varnish e un browser usando Cache-Control: max-age Header in un ambiente Rails?
Cache-Control: max-age=86400, public=true
ho raggiunto quella utilizzando l'istruzione expires_in nei miei controllori:
def index
expires_in 24.hours, public: true
respond_with 'some content'
end
che ha funzionato bene. Quello che non mi aspettavo è che l'intestazione Cache-Control abbia effetto sul browser. Ciò porta al problema che entrambi - Varnish e il browser degli utenti memorizzano nella cache una determinata risorsa. La risorsa viene eliminata correttamente dalla vernice, ma il browser non tenta di richiederlo nuovamente a meno che non venga raggiunto il limite massimo di età.
Quindi mi chiedo se dovrei usare "expires_in" in combinazione con Varnish? Potrei filtrare l'intestazione Cache-Control in un'istanza Nginx o Apache di fronte a Varnish, ma ciò sembra strano.
Qualcuno può illuminarmi?
saluti Felix
Sto incontrando lo stesso problema. Hai già trovato una soluzione? – MotoTribe
Vedere il mio commento qui sotto. – GeorgieF