по proxy_cache_key
Garanin Michael
m-garanin at yandex.ru
Tue Apr 2 12:36:17 UTC 2013
Подскажите пожалуйста на счёт кеширования.
У меня на сервер приходят запросы вида "/live/FOLDER_PATH/z([0-9]*)/start.dat" которые nginx проксирует на прокси с путём "/FOLDER_PATH/start.dat"
(кусок (z[0-9]*) в пути для прокси НЕ нужен).
Я хочу чтобы ответы от прокси кешировались под первоначальным урлом, но похоже что всё кешируется под одним ключём, скорей всего под конечным $uri
(FOLDER_PATH/start.dat). То есть на все запросы - один кеш-объект, а мне нужно их различать на основе части "(z[0-9]*)".
Cкажите каким образом решить задачу? Заранее спасибо!
(версия nginx 1.2.5 )
location ~ z([0-9]*)/start.dat$ {
proxy_cache live-cache;
proxy_cache_valid 200 302 20m;
proxy_cache_valid 404 1m;
proxy_cache_lock on;
proxy_cache_lock_timeout 20s;
proxy_cache_key $scheme$proxy_host$request_uri;
# избавляюсь от z[0-9]
rewrite ^(.*)/z([0-9]*)/start.dat$ $1/start.dat;
# избавляюсь от live
rewrite /live/(.*) $1 break;
# проксирую
proxy_pass http://127.0.0.1:8087/$uri;
}
Подробная информация о списке рассылки nginx-ru