Проблемы с кешированием Squid

, я хотел бы создать задание cron, которое удалит наш кеш squid и перезапустится Это. Причина, по которой я это делаю, заключается в том, что когда я загружаю новый код javascript сборки на наш веб-сервер, когда я просматриваю наше приложение в браузере, указывающее на наш кальмар, я все равно получаю старый код, даже если я очистил кеш своего браузера.

Он начинает работать после того, как я очищаю кеш нашего сквида и перезапускаю его.

Мне действительно нужна работа для этого, или мне просто не хватает конфигурации в нашем сквиде? Конечно, нам по-прежнему требуется кеширование, но не при загрузке новой сборки веб-приложения.

0
задан 13 July 2016 в 20:32
2 ответа

Проверьте squid.conf, чтобы убедиться, что нет строк refresh_pattern, говорящих Squid не подчиняться/не подчиняться инструкциям по кэшированию HTTP. Это должно быть все, что вам нужно сделать. По умолчанию Squid будет проверять (REFRESH/IMS) всякий раз, когда это необходимо, остальное зависит от исходного сервера.

Убедитесь, что ваш сервер производит Last-Modified, и, если возможно, заголовки ETag для каждого ответа. Squid старше 3.5.21 нуждается в повторной проверке.

Если ваши изменения происходят через известные интервалы времени, то должны быть выданы заголовки Cache-Control:max-age=N и Expires, которые сообщают Squid о том, когда произойдет следующее изменение. В противном случае, если тайминг является непредсказуемым, должен быть выдан заголовок Cache-Control:no-cache.

Вам также необходимо убедиться в том, что ваш сервер выдает 304 ответа правильно, когда содержимое не изменилось. Если нет, обратитесь к документации по вашим серверам, чтобы узнать, как это исправить.

.
1
ответ дан 4 December 2019 в 13:39

Вам необходимо убедиться, что Squid правильно настроен для проверки восходящего потока при каждом запросе кеша, и установить заголовок HTTP If-Modified-Since для каждого запроса.

Если вышестоящий сервер отправляет ответ с 304 Not Modified , то Squid может отправить существующую версию кеша. Если вышестоящий сервер отвечает с новой версией, то Squid может обновить свой кеш и отправить новую версию файла.

1
ответ дан 4 December 2019 в 13:39

Теги

Похожие вопросы