Неактивный параметр кеша Nginx не работает
Я хочу обслуживать статические файлы, хранящиеся на другом сервере. Для этого я использую кеш Nginx со следующей конфигурацией.
Конфигурация кеша Nginx:
proxy_cache_path /var/cache/cdn levels=1:2 keys_zone=cdn:64m max_size=20g inactive=10m use_temp_path=off;
Конфигурация службы:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name <server-name>;
ssl_certificate <fullchain>;
ssl_certificate_key <key>;
location / {
# Activate caching
proxy_cache cdn;
# Cache becomes stale after 1 minute
proxy_cache_valid 1m;
# Download stale data only if it has been modified on origin
proxy_cache_revalidate on;
# Use stale file origin is unaccessible
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
# If multiple clients get a MISS for the same file,
# the file is downloaded form Origin only once
proxy_cache_lock on;
# Filesystem key
proxy_cache_key $uri$is_args$args;
# Gives the status of the file returned
# MISS, BYPASS, EXPIRED, STALE, UPDATING, REVALIDATED, HIT
add_header X-Cache-Status $upstream_cache_status;
# Origin server address
proxy_pass <server origin>;
}
}
server{
listen 80;
listen [::]:80;
server_name <server-name>;
if ($host = <server-name>) {
return 301 https://$host$request_uri;
}
}
Эта настройка глобально работает нормально: файлы доставляются, повторная проверка работает, proxy_cache_valid тоже работает ... Однако
inactive
параметр в
proxy_cache_path
похоже, вообще не работает: через 10 минут, когда никто не запрашивал файл, указанный файл не удаляется из кеша, и его все еще можно увидеть в каталоге / var / cache / cdn.
Это нормально ? Я испортил свою конфигурацию?
Спасибо за вашу помощь,
AlberichVR
1 ответ
После долгих исследований в Интернете и большого количества проб и ошибок я обнаружил проблему: папка кеша, которую я использовал, имела разрешения 700. После изменения их на 777 проблема решилась сама собой.