Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
кэширование только опреде ленных типов
- To: nginx-ru@xxxxxxxxx
- Subject: кэширование только опреде ленных типов
- From: "F0iL" <nginx-forum@xxxxxxxx>
- Date: Tue, 22 Jun 2010 04:32:36 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=WEnDHRnhH3QBQq89L5tIlyPqcBt6yXUyO0ycSsYTHKA=; b=KHQUh3nl8TV50PNBTT5po7BWoBbf5T8fi7f9KReESSg+gpomlYdrV8BV+SxF2tJio+N5pqtXAs2RRkeXPLwUXcQyLQBocRRdpZljUmZzZ5LVMxpxzW2na/HJlcH8UJ5z;
Уважаемые, подскажите пожалуйста
решение следующего вопроса:
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, то
есть сразу два условия поставить
нельзя.
Подскажите, как реализовать желаемое?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,101109,101109#msg-101109
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|