#nginx #caching #reverse-proxy
#nginx #кэширование #обратный прокси
Вопрос:
Я использую nginx в качестве кэша для googleapis.com . В настоящее время все ответы кэшируются на 5 миллионов:
proxy_cache_path /var/cache/nginx/xxx_cache keys_zone=xxx_cache:10m;
server {
location ~ /blog/ {
proxy_pass https://www.googleapis.com/blogger/v3/blogs/;
proxy_cache xxx_cache;
proxy_cache_lock on;
proxy_cache_valid 5m;
}
Я бы хотел изменить этот интервал в зависимости от request_uri. Определение $proxy_cache_valid
переменной с помощью map
директивы и использование ее для proxy_cache_valid
сбоев с invalid time value "$proxy_cache_valid" in ...
помощью .
map $request_uri $proxy_cache_valid {
default 5m;
~^/blog/[0-9] /posts/[0-9] 1h;
}
proxy_cache_path /var/cache/nginx/xxx_cache keys_zone=xxx_cache:10m;
server {
location ~ /blog/ {
proxy_pass https://www.googleapis.com/blogger/v3/blogs/;
proxy_cache xxx_cache;
proxy_cache_lock on;
proxy_cache_valid $proxy_cache_valid;
}
Как я могу реализовать это в nginx ( nginx version: nginx/1.16.1
)?
Комментарии:
1. Смогли ли вы решить эту проблему? Я сталкиваюсь с той же проблемой.