Чтобы обойти кэш для определенного URI (который содержит, например, latest
или 1.0
), я настроил следующую конфигурацию:
location ~* ^/api/service/([a-zA-Z0-9.-]+)$ {
return 301 $scheme://$http_host$uri/index.html;
}
location /api/service/ {
set $cache "public, max-age=43200";
if ($request_uri ~* ^/api/service/([a-zA-Z0-9./]+)) {set $cache "nocache"; }
proxy_set_header Cache-Control $cache;
proxy_cache api;
proxy_cache_key $request_uri;
proxy_pass http://backend/some/uri/;
}
Поэтому я ожидаю, что кэш будет использоваться для таких URI как /api/service/1.0-12
и не будет использоваться для /api/service/1.0
и /api/service/latest
, но это не работает.Как настроить кеширование в этом случае?