Проблема с add header + try files
alexpts
nginx-forum at nginx.us
Sun Apr 12 18:16:24 UTC 2015
Привет!
Имею такой конфиг
location ~ \.html {
gzip_static on;
root xxx;
try_files $uri /index.php$is_args$args;
}
Локейшен проверяет есть ли в ФС статический документ и отдает его клиенту из
кеша, Если документа нет, то отдает управление переходит в локейшен, который
обрабатывает php скрипты для генерации документа.
Потребовалось, сетить клиенту куку с ip клиента. Изменил конфиг:
location ~ \.html {
gzip_static on;
root xxx;
if ($cookie___lastip != $remote_addr) {
add_header Set-Cookie
"__lastip=$remote_addr;Domain=$host;Path=/;Max-Age=31536000";
}
try_files $uri /index.php$is_args$args;
}
Если документ в кеше, то условие работает верно и если сменился ip или не
было такой куки, то приходит кука в ответе от сервера.
А вот если документа нет в кеше и нет куки с таким именем или значение куки
не равно ip адресу, то запрос возвращает 404. Try_files не находит документ,
но в другой локейшен не заходит.
Не знаю баг это или нет.
Подскажите как можно решить данную задачу.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,257975,257975#msg-257975
Подробная информация о списке рассылки nginx-ru