Я использую 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 минут, если сервер возвращает ошибку.