Назад | Перейти на главную страницу

Как заставить squid отправлять клиенту старый кеш (возможно, устаревший), когда веб-сайт не работает

Я использую squid в качестве прокси. Но когда веб-сайт не работает и размер кеша превышает максимальное время в конфигурации squid.conf, могу ли я просто позволить squid отправить старую версию клиенту до того, как squid подтвердит ее проверку. Если squid может это сделать, как настроить?

Вы можете использовать несколько вариантов - refresh_pattern, max_stale, refresh_stale_hit, icp_hit_stale

Если вам не нужно долгое время обслуживать устаревший контент, вы можете использовать только опцию refresh_stale_hit. то есть:

refresh_stale_hit 1 минута

Это позволяет одновременным запросам во время обновления объекта обрабатываться по мере попадания в кеш только в том случае, если срок действия объекта истек менее 1 минуты.

squid 2.7 или> 3.3 будет использовать заголовок cache-control stale-while-revalidate и stale-if-error

заголовок ('Cache-Control: public, max-age = 0, s-maxage = 60, stale-while-revalidate = 120, stale-if-error = 600');

будет означать:

браузер не кэширует (чтобы избежать двойного кеширования, которое может привести к странным вещам)

кеш кальмара на 60с

в течение следующих 120 секунд доставляет устаревшее содержимое и обновляет кеш (замаскирует задержку обновления содержимого кеша)

и доставлять устаревший контент в течение 10 минут, если сервер возвращает ошибку.