gpt4 book ai didi

nginx - 如何使用 Nginx 提供文件的一部分?

转载 作者:行者123 更新时间:2023-12-04 04:13:44 25 4
gpt4 key购买 nike

我正在使用 X-Accel使用 X-Accel-Redirect 提供 protected 内容。

是否可以只提供文件的一部分?例如,字节范围为 0-x,或视频的前 5 分钟(我的最终目标)

在服务器端执行此操作很重要,这样客户端将无法访问文件的其余部分。

目前我是这样发送整个文件的:

X-Accel-Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Type: application/octet-stream
Content-Length: {file_size}
Content-Disposition: attachment; filename="myfile.mp4"
Accept-Ranges: bytes
X-Accel-Buffering: yes
X-Accel-Redirect: /protected/myfile.mp4

Nginx 配置文件:

location /protected {
internal;
alias /dir/of/protected/files/;
if_modified_since off;
output_buffers 2 1m;
open_file_cache max=50000 inactive=10m;
open_file_cache_valid 15m;
open_file_cache_min_uses 1;
open_file_cache_errors off;
}

最佳答案

大规模的黑客攻击将是使用 nginx 通过 Range header 将请求限制在一个字节范围内来代理自己

类似这样的东西(未经测试,所以这可能行不通,但这个想法应该可行):

{ 

... snip config ...

server {
listen 80 default_server;
listen [::]:80 default_server;

root /html;
index index.html;

location / {

proxy_pass http://localhost/content;
add_header Range btyes=0,100000;
}

location /content {
try_files $uri $uri/ =404;
}
}
}

关于nginx - 如何使用 Nginx 提供文件的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61171467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com