Efter at have opdateret TinyMCE på en hjemmeside, oplever jeg at javascript filerne returnerer 404 i produktionsmiljøet. Her har vi en loadbalance server med Varnish foran 4 webservere. Jeg prøvede at tilgå en af webserverne direkte, og så kom filerne fint, og dermed måtte det være Varnish cache der drillede. En genstart af Varnish burde rense cachen for filer, men det skete ikke i mit tilfælde. I stedet gjorde jeg følgende:
Først skal du finde ud af hvilket interface/port Varnish lytter på:
1 2 3 4 |
netstat -plnt | grep varnishd tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 29957/varnishd tcp 0 0 10.0.0.48:80 0.0.0.0:* LISTEN 29958/varnishd tcp6 0 0 ::1:6082 :::* LISTEN 29957/varnishd |
Herefter kan du starte Varnish cli. I dette tilfælde var det javascript filer jeg ville have Varnish til at genindlæse, så jeg gav ban.url
en regex der leder efter alle filer med endelsen js. Derefter quit
for at lukke cli igen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret 200 ----------------------------- Varnish Cache CLI 1.0 ----------------------------- Linux,4.4.0-53-generic,x86_64,-smalloc,-smalloc,-hcritbit varnish-3.0.5 revision 1a89b1f Type 'help' for command list. Type 'quit' to close CLI session. varnish> ban.url "/js/$" 200 varnish> quit 500 Closing CLI connection |
Det virkede… 🙂