ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: кэширование только опре деленных типов



On Tue, Jun 22, 2010 at 04:32:36AM -0400, F0iL wrote:

> Уважаемые, подскажите пожалуйста
> решение следующего вопроса:
> nginx - фронтенд, apache - бэкенд.
> допустим, мне надо кэшировать только
> некоторые типы файлов (графика и
> статика), а остальное передавать
> напрямую и без кэширования.
> как реализовать?
> 
> очевидный на первый взгляд вариант:
> 
> location / {
> proxy_pass ....
> }
> 
> location ~* ^.+\.(ico|jpg|jpeg|gif|js|png|htm|html)$ {
> include cache_on.inc;
> proxy_pass ....
> }
> 
> не прокатывает по причине того, что
> proxy_pass не может быть под регулярным
> выражением.
> 
> Была мысль при совпадении условия
> (регулярного выражения) делать rewrite
> куда-нибудь например на /ngncahce/....
> а для него уже включать кэширование, но
> там проблема в том, что движок успешно
> переписывает выражение, повторяет
> обработку снова, натыкается на свое же
> условие (рег. выр.) и снова делает
> реврайт, и так до бесконечности.
> break ставить нельзя, т.к. тогда, само
> собой, не сработает proxy_pass дальше.
> 
> была задумка сделать проверку на два
> условия - на совпадение расширения
> файла (рег. выражение) и на наличие ngncache
> в урле (т.е. что его уже переписали), но
> как я поял, скриптовый движок nginx не
> умеет операцию AND для условий в if, то
> есть сразу два условия поставить
> нельзя.
> 
> Подскажите, как реализовать желаемое?

 location ~* ^.+\.(ico|jpg|jpeg|gif|js|png|htm|html)$ {
     include cache_on.inc;
     proxy_pass  http://backend;  #  без "/"
 }


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.