Nginx 自动删除设置有效期更长的缓存?

Nginx automatically deletes cache which is set to be valid longer?

我设置了一个 Nginx 反向代理服务器,为另一台服务器上托管的 mp4 文件提供服务。除了缓存,现在一切正常。虽然我将 proxy_cache_valid 设置为 1 天 (proxy_cache_valid any 1d),缓存会在短时间后自动删除(我认为是 5-10 分钟)。我的文件大小在 200 - 1500MB 之间(平均 700MB)。

我无法弄清楚配置有什么问题。任何事情都可能有所帮助。

配置如下

worker_processes  auto;

worker_rlimit_nofile 100000;

events {
    worker_connections  5000;
    multi_accept on;
    use epoll;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay on;

    keepalive_timeout  10;
    keepalive_requests 1024;
    client_body_timeout 12;
    client_header_timeout 12;
    send_timeout 10;

    proxy_cache_path /tmp/mycache keys_zone=mycache:10m use_temp_path=off;
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    server {
        listen       80;
        server_name  localhost;

    access_log off;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    open_file_cache max=10000 inactive=30s;
    open_file_cache_valid    60s;
    open_file_cache_min_uses 5;
    open_file_cache_errors   on;

    client_body_buffer_size 16K;
    client_header_buffer_size 1k;
    client_max_body_size 8m;
    large_client_header_buffers 2 1k;

        location / {
        proxy_cache mycache;
        proxy_max_temp_file_size 1924m;
        slice              100m;
        proxy_cache_key    $host$uri$slice_range;
        proxy_set_header   Range $slice_range;
        proxy_http_version 1.1;
        proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; 
        proxy_cache_valid  any 1d;
        limit_conn addr 5;
        proxy_pass   http://domain2.com/;
        secure_link $arg_md5,$arg_expires;
        secure_link_md5 "secret$secure_link_expires$uri";

        if ($secure_link = "") { return 403; }
                if ($secure_link = "0") { return 410; }
        }

    }

}

找到答案:原来proxy_cache_valid不是决定缓存过期时间的指令。在 proxy_cache_path 中,我添加了 inactive=3h,现在一切正常。