Сложный кеш POST запросов

Иван Мишин simplebox66 на gmail.com
Вт Апр 16 09:26:15 UTC 2019


Добрый день, помогите пожалуйста со следующей проблемой:

Есть такой конфиг:
server {
        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


Но в моем случае это так не работает. И я понимаю почему, потому что
происходит переопределение директив.


Подскажите как решить мне эту задачу?
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20190416/5966d35c/attachment.html>


Подробная информация о списке рассылки nginx-ru