по 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