(RAM 缓存定义)

(RAM 缓存定义)

抱歉,我的问题如下:上游是 IIS 服务器,用于定位视频文件。我的 nginx 是一个代理缓存服务器,当客户端开始在其浏览器中播放 mp4 文件时,我需要缓存它,然后将其发送/流式传输到客户端。如果 mp4 文件的索引位于文件的开头,那么就可以了,它工作正常。但是,如果文件的索引位于 mp4 文件的末尾,那么我就会遇到问题,我正在查找缓存,发现 nginx 从上游文件缓存到末尾并删除它,对于文件的下一部分,它再次缓存它,完全发送部分并删除缓存...我不明白为什么 :( 它还发送许多错误标头,因为长度不正确,在这种情况下播放器会停止 :(

(RAM 缓存定义)

1级服务器防御

server {
    listen        front.network;
     server_name   .mybox.com;

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

    max_ranges 1024;

    proxy_cache ssd;
    proxy_cache_valid 200 600s;
    proxy_cache_lock on;
    proxy_read_timeout 10m;
    proxy_send_timeout 10m;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    add_header Accept-Ranges bytes;
    proxy_cache_min_uses 1;
    proxy_force_ranges on;

    proxy_cache_key   $uri$is_args$args;

    # 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 200s;
    proxy_cache_valid 200 206 301 302 48h ;

    proxy_cache_use_stale updating;

    location /5 {
        proxy_set_header Host $redirect_host;
        proxy_pass http://$redirect_upstream;
    }
}

相关内容