Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: как лучше управлять кешированием fastcgi_cache
Hello!
On Thu, Dec 26, 2013 at 06:14:05PM +0300, VovansystemS wrote:
[...]
> > Если нужна обработка одним и тем же index.php, то в нужных
> > location'ах явно указывать SCRIPT_FILENAME.
> вынес в отдельные location'ы то, что требует особых параметров
> кеширования, а сами настройки кеширования теперь задаются на уровне
> server.
Лучше ещё переделать конфиг так, чтобы fastcgi_cache был включён
только там, где используется.
Ибо если кеш выключен - это одно, а если он включён, но ему
сказали bypass / no cache - это немного другое. В частности, при
обработке HEAD-запросов, а равно условных запросов будут различия
(при включённом кеше на бекенд вместо HEAD уйдёт GET, а If-*
заголовки будут убраны).
> > Лучше - по возможности избегать использование if'ов и rewrite'ов.
>
> А вот как убирать слэши в конце URI без rewrite я не смог придумать
> (так, чтобы было перенаправление на URI без слэша) - есть ли какое-то
> иное решение?
Такие вещи лучше всего делать внутри приложения, а не на конфигах
nginx'а.
> Также не совсем понятно, как избавится от if, когда на то, нужно ли
> кешировать (отдавать закешированный) контент, влияет несколько
> факторов (есть ли определённая кука ИЛИ метод запроса post ИЛИ есть
> аргументы (например)). Возможно ли и стоит ли переписать это на map'ы
> и как это будет выглядеть? Как бы сделали Вы?
И такие вещи лучше всего делать в рамках приложения, возвращая
корректные значения Cache-Control.
Впрочем, если речь идёт про fastcgi_no_cache /
fastcgi_cache_bypass, то следует иметь ввиду, что эти директивы
принимают несколько параметров. Подробнее тут:
http://nginx.org/r/fastcgi_no_cache/ru
http://nginx.org/r/fastcgi_cache_bypass/ru
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|