Nginx 和消失的缓存

问题描述 投票:0回答:1

我需要在我的流媒体服务器前面安装某种屏蔽服务器。我有非常基本的 nginx 配置:

proxy_cache_path /localcache/nginx levels=2:2:2 keys_zone=cache:128m;

server {
    listen *:80;
    server_name _;

    proxy_cache cache;
    proxy_cache_lock on;

    # Immediately forward requests to the origin if we are filling the cache
    proxy_cache_lock_timeout 0s;

    # Set the 'age' to a value larger than the expected fill time
    proxy_cache_lock_age 5s;

    proxy_cache_valid 200 36500d;
    proxy_cache_use_stale updating;
    proxy_cache_methods GET;

    location /streamer/ {
        proxy_set_header Host streamser.server.exapmle;
        proxy_pass_request_headers off;
        proxy_hide_header Cache-Control;
        proxy_ignore_headers Cache-Control;
        proxy_ignore_headers x-accel-expires;
        proxy_ignore_headers expires;
        proxy_hide_header etag;
        proxy_http_version 1.1;
        proxy_cache_key $host$uri$is_args$args;
        proxy_set_header Connection "";
        proxy_pass https://111.222.333.444;
        add_header Set-Cookie chost=$Host;
        add_header XX-Cache-Status $upstream_cache_status;
    }
}

我想永远破坏缓存 - 直到我手动清除特定文件。 当我第一次观看视频时,我可以看到标头 XX-Cache-Status 按预期显示 MISS,我看到缓存文件夹正在增长

sudo du -hs vol/localcache/nginx/
62M     vol/localcache/nginx/

当我倒带视频时,我看到 XX-Cache-Status 更改为 HIT - 看起来不错。但!一段时间后我发现缓存文件夹越来越小:

sudo du -hs vol/localcache/nginx/
42M     vol/localcache/nginx/

看起来缓存正在清除,但我不明白为什么。播放视频时会发生这种情况。当我停止玩游戏时,我发现缓存文件夹在 10-15 分钟内为空,但我看不出有什么原因。请帮忙修复一下。

nginx caching
1个回答
1
投票

问题出在

inactive
指令的
proxy_cache_path
参数中 - 默认为 10 分钟。

© www.soinside.com 2019 - 2024. All rights reserved.