proxy_cache_bypass $cookie_PHPSESSID;
buxley
nginx-forum на nginx.us
Пт Фев 18 14:42:16 MSK 2011
Здравствуйте.
Имеется проксирующий nginx/0.8.53, от
которого требуется отдавать
кешированные странички незалогиненным
пользователям, а залогиненных
пользователей и пользователей с
включенным дебагом пробрасывать на
бекенд.
Конфигурация:
[code]
http{
proxy_cache_path /tmp/nginx-cache/main-cache levels=1:2
keys_zone=main:64m max_size=4g inactive=1h;
proxy_temp_path /tmp/nginx-cache/temp;
proxy_cache_key $scheme$proxy_host$uri$is_args$args;
...
server {
...
location = / {
proxy_cache main;
proxy_cache_min_uses 1;
proxy_cache_valid 200 10s;
proxy_cache_use_stale error timeout
invalid_header http_500 http_502 http_503 http_504 updating;
proxy_no_cache $cookie_PHPSESSID
$cookie_debug;
proxy_cache_bypass $cookie_PHPSESSID
$cookie_debug;
proxy_pass http://backend/;
...
}
}
}
[/code]
Столкнулся со следующей проблемой:
если session_id начинается с 0, то nginx считает
пользователя гостем и отдает страницы
из кеша. С дебагом проблем нет, потому
что там либо 1 либо куки нет.
Наблюдал ли кто-нибудь похожую
проблему? Как можно обойти кроме как
использовать session_regenerate_id() до тех пор
пока session_id не будет начинаться не с 0.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,176433,176433#msg-176433
Подробная информация о списке рассылки nginx-ru