Я использую NGINX в уникальной ситуации, когда я использую обратный прокси-сервер для Sonatype Nexus и хочу кэшировать файлы только в том случае, если они больше, скажем, 10M.
Вот что у меня есть до сих пор:
восходящий тоннель_to_nexus_server {
локальный хост сервера: 28081;
}
уровни кэша proxy_cache_path=1:2 keys_zone=STATIC:10m inactive=24h max_size=10g;
сервер {
слушать 80;
переписать ^/nexus$ /nexus/ на постоянную;
расположение ~* ^/нексус(.*)$ {
proxy_pass http://tunnel_to_nexus_server $1;
proxy_set_header Хост $host;
прокси_буферизация включена;
proxy_cache СТАТИЧЕСКИЙ;
proxy_cache_valid 200 3650d;
proxy_cache_use_stale ошибка timeout invalid_header update http_500 http_502 http_503 http_504;
}
расположение ~* ^/нексус/сервис/*$ {
истекает -1;
add_header 'Cache-Control' 'без хранения, без кеша, обязательная повторная проверка, прокси-повторная проверка, max-age=0';
}
расположение ~* ^/nexus/*/repodata/*$ {
истекает -1;
add_header 'Cache-Control' 'без хранения, без кеша, обязательная повторная проверка, прокси-повторная проверка, max-age=0';
}
}
Как видите, я хочу почти постоянно кэшировать файлы с Nexus, однако пишу исключения в прокси для */реподата/*
и /сервер/*
пути. Но на самом деле было бы очень похоже, если бы я мог настроить nginx на кеширование только в том случае, если мин_размер> 10M
.
Подобно тому, как у меня есть макс_размер=10г
поставил, ищу аналог мин_размер
параметр.