Re: Как определить, когда ответ из кэша

umask umask на yandex.ru
Сб Май 12 13:39:04 UTC 2012


наверное как-то так можно:

if ($upstream_cache_status = HIT) {
add_header "X-Cache-Status" "cachehit";
}

if ($upstream_cache_status = MISS) {
add_header "X-Cache-Status" "cachemiss";
}


я не проверял. просто идея.



12.05.2012, 14:53, "xore" <nginx-forum at nginx.us>:
> Здравствуйте!
>
> Подскажите, пожалуйста, как справиться
> с такой задачей.
> Когда nginx отдает страничку напрямую,
> добавить заголовок "backend_id".
> А когда берет из кэша, заголовок не
> добавлять.
>
> Схема работы такая:
> Фронтенд - nginx с проксированием (proxy_cache),
> за ним несколько бэкендов (proxy_pass на
> upstream из нескольких серверов).
> При запросе, нужно различать ответ из
> кэша и от бэкенда.
> А если ответ от бэкенда, нужно понять, с
> какого бэкенда он пришел.
> Бэкенды настроены добавлять в ответ
> заголовок backend_id.
> Но фронтенд сохраняет в кэш весь ответ,
> вместе с заголовками.
> В результате, можно понять, каким
> бэкендом был сгенерирован ответ.
> Но нельзя понять, прямой ли это ответ,
> или из кэша.
>
> Есть ли способы справиться с такой
> задачей?
> Помогите советом, пожалуйста.
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,226330,226330#msg-226330
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



Подробная информация о списке рассылки nginx-ru