Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: Кеширование и SSI
Hello Igor,
Thursday, August 27, 2009, 3:11:15 PM, you wrote:
IS> On Thu, Aug 27, 2009 at 02:51:32PM +0300, Roman wrote:
>> Добрый день,
>> имеется nginx version: nginx/0.8.10.
>>
>> Собственно что пытаюсь сделать,
>> страницы генерятся и кешируются правильно,
>>
>> proxy_cache_key "$uri$is_args$args$cookie_auth" выглядит вот так,
>>
>> кука 'auth' для каждого пользователя уникальна, получается что пользы
>> от кеширования для большого кол-ва пользователей не очень много, т.к.
>> все равно постоянно приходится дергать бакенд, базу и т.д.
>>
>> Подумал сделать так: из ключа выкинуть $cookie_auth
>> proxy_cache_key "$uri$is_args$args";
>>
>> ну а идентификатор ползователей выдергивать с помощью SSI
>> <!--# include virtual="/get_mem_id.php?auth=cookie_auth" set="member_id" -->
>> или же получить имя
>> <!--# echo var="cookie_username" default="" -->
>> ну и так далее...
>>
>> но что-то у меня не рабоатет, либо криво настроено, либо так нельзя
>> сделать.
>>
>> Подскажите, пожалуйста, как работает кеширование, а именно,
>> кешируется ответ с уже обработанными SSI инструкциями или же нет?
IS> location / {
IS> ssi on;
IS> proxy_pass ...
IS> proxy_cache_key $request_uri;
IS> }
IS> location = /get_mem_id.php {
IS> proxy_pass ...
IS> proxy_cache_key $cookie_auth;
IS> }
Проведя эксперементы, выяснил что в такой конструкции
<!--# include virtual="/get_mem_id.php?auth=cookie_auth" set="member_id" -->
подзапрос "/get_mem_id.php?auth=cookie_auth"
обрабатывается в том же локейшене что и основной запрос.
Получается, что то, что мне нужно скорее всего реализовать не
получится.
--
Best regards,
Roman mailto:sirotar@xxxxxxx
|