> Кстати, похоже, что есть вариант еще проще, используя директиву > fastcgi_cache_bypass для запросов с If-Modified-Since и If-None-Match > и выставляя в ответе заголовок X-Accel-Expires: 0 > если статус ответа backend`а будет 304.
Да, у меня крутился в голове вариант, использовать куки для fastcgi_no_cache. Схема следующая, скрипт который отдает приватный кеш, будет отдавать куку с path=$self_path, данная кука будет приходит только на данный uri, таким образом её можно использовать для условия в fastcgi_no_cache для выключения Nginx кеширования, осталось только проверить, удаляет Nginx клиентские заголовки если выполняется условия fastcgi_no_cache, если не удаляет, тогда этот вариант выглядит лучше чем прописывать location в конфиге Nginx. Насчет запрета кеширования 304 статуса, я начал склонятся к мысли что бекенд не должен клиенту повторно отдавать заголовки Cache-Control. Если бекенд не будет отдавать эти заголовки, Nginx не будет сохранять данный ответ в своем кеше, потому что в конфиге прописано fastcgi_cache_valid 200 301 302 0s; В последних наших тестах выяснилось что все современные браузеры, нормально реагируют на отсутствия заголовков Cache-Control в ответе с 304 статусом, хотя спецификации HTTP требует наличия этого заголовка. Вопрос к сообществу, какие проблемы могут возникнуть, если в 304 статусе не будет заголовка Cache-Control? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,245951,246111#msg-246111 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru