On Wed, Sep 25, 2013 at 04:58:31AM -0400, Dymytry wrote: > День добрый! > Изучаю nginx, разбираюсь в кэшировании, имею browser + nginx reverse proxy + > nginx web-server. > > Допустим клиент сделал запрос, прокси перевел его на бэкенд, тот ответил и > прокси отдал ответ клиенту. Допустим бэкенд проставил какие-то заголовки, > связанные с кэшем, например: > Cache-Control: no-cache (или) > Cache-Control: max-age=100000 (или) > Expires: 'Next Friday' > > Вопрос 1: следующий запрос клиента к этому ресурсу будет обработан с учетом > этих заголовков?
Ответ на этот вопрос есть в документации: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers > Вопрос 2: как nginx-proxy понимает что ресурс stale и его не надо отдавать > клиенту, а надо спросить бэкенд? (кроме директивы proxy_cache_valid) Может > ли он понять это из заголовков ответа бэкенда? Ответ на этот вопрос есть в документации: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_use_stale > Вопрос 3: может ли клиент заставить прокси закрузить свежую версию ресурса, > которая еще не истекла согласно proxy_cache_valid? Может, если администратор nginx сочтёт нужным: http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_cache_bypass > Я пробую играть с заголовками Cache-Control прокси и бэкенда, и насколько я > могу судить, если ресурс закэшировался в прокси ничто не поможет мне > получить его свежую версию кроме удаления кэша или истечения > proxy_cache_valid. То есть "модель" кэша nginx reverse proxy это просто > веб-сервер с контентом, равным тому, что удалось закэшировать, а что именно > кэшировать определяется тем, не ставит ли бэкенд Cache-Control: no-cache или > no-store; заголовки Expired, Cache-Control: max-age бэкенда не учитываются. > > Я правильно понимаю, или нет? > Так работают все прокси, и squid, и разные публичные прокси в интернете? > Изменить ли что-то, если nginx-proxy соединяется с клиентом по SSL? _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
