Кеширование Nginx для определенного местоположения с помощью регулярного выражения

Я хочу кэшировать контент только из определенного места. Но когда я пытаюсь использовать регулярное выражение, это не кеширование.

proxy_cache_path /AINginxService/nginx-1.16.1/cache/ levels=1:2 keys_zone=one:10m max_size=8g inactive=5d use_temp_path=off;

proxy_cache one;    

    location ~* /v1/mydata/studies/[0-9.]+/series/[0-9.]+/instances/[0-9.]+/rendered {
        #rewrite http://([^/]+)/rendered break;
        proxy_cache_valid 200 120h;
        proxy_pass http://127.0.0.1:9000/v1/mydata;
        proxy_set_header Host $host;
        proxy_pass_request_headers on;
        proxy_http_version 1.1;
        proxy_set_header Origin "";
        proxy_connect_timeout 1d;
        proxy_send_timeout 1d;
        proxy_read_timeout 1d;
        send_timeout 1d;
    }

    # Rest api entry point
    location /v1/mydata {
        #proxy_cache_valid 200 120h;
        proxy_pass http://127.0.0.1:9000/v1/mydata;
        proxy_set_header Host $host;
        proxy_pass_request_headers on;
        proxy_http_version 1.1;
        proxy_set_header Origin "";
        proxy_connect_timeout 1d;
        proxy_send_timeout 1d;
        proxy_read_timeout 1d;
        send_timeout 1d;
    }
}

PS: Если я раскомментирую proxy_cache_valid в /v1/mydata, он все кеширует.
ПРИМЕЧАНИЕ. Возможные шаблоны URL

 1. / v1 / mydata / Studies/{study_id}/       # Не сдаваться
 2. /v1/mydata/studies//series/{series_id}/      # Не кэшировать
 3. /v1/mydata/ Studies // series / {series_id} / instance /{instance_id}/    # Не сдаваться
 4. /v1/mydata/studies//series/{series_id}/instance/{instance_id}/rendered     # Кэшируйте это

0 ответов

Другие вопросы по тегам