server_name www.example.ru;
proxy_cache_methods POST;
proxy_cache_key $remote_addr$request_uri
proxy_cache_valid 200 302 5m;
expires 5m;
location /1test {
proxy_pass http://ololo;
proxy_cache_methods GET;
proxy_cache_key $server_name$request_uri
proxy_cache_valid 200 302 1h;
expires 1h;
}
location /2test {
proxy_pass http://ololo;
}
location /3test {
proxy_pass http://ololo;
proxy_cache_methods GET;
proxy_cache_key $server_name$request_uri
proxy_cache_valid 200 302 3d;
expires 3d;
}
}
Суть конфига в том что при обращении на /*test/* POST запросом должно должен сработать кеш по ключу $remote_addr$request_uri у которого срок годности 5m
При get запросе на /1test/* должен сработать кеш по ключу $server_name$request_uri сроком на 1h
При get запросе на /2test/* кеша быть не должно
При get запросе на /3test/* должен сработать кеш по ключу $server_name$request_uri сроком на 3d
Но в моем случае это так не работает. И я понимаю почему, потому что происходит переопределение директив.
Подскажите как решить мне эту задачу?
Подскажите пожалуйста
Обсуждают сегодня