我想知道是否有可能禁用nginx上的多线程下载。现在,用户可以通过拆分文件来使用下载管理器来下载文件,我想知道如何在我的nginx服务器上防止这种情况。
发布于 2012-07-24 02:49:07
使用nginx 类的示例limit_conn配置:
limit_zone one $binary_remote_addr 10m;
server {
location /download/ {
limit_conn one 1;
}
}不仅仅是带有Range请求的下载管理器可以进行多重下载(这并不会禁用Range头);现代浏览器也会加载页面多重请求。在任何地方使用此配置时都要非常小心,希望您需要一个location来专门防止多路下载。
发布于 2013-03-27 03:10:08
您正在寻找的设置是在Nginx1.1.12中添加的。
proxy_cache_lock on;proxy_cache_lock_timeout 60;
当每个文件的第一个请求(并被复制到proxy_temp_path)被锁定时,如果出现第二个请求,而不是启动对后端的第二个请求,客户端将等待proxy_cache_lock_timeout等待原始请求完成。如果原始请求在超时之前完成,则第一个请求(客户端A)的结果将返回给客户端B。如果超时过期,nginx将代表客户端B向后端启动第二个请求。
这是一个比'limit_conn one 1‘更好的解决方案,后者仅限于针对整个位置的单个并发请求,而不是每个URI。
https://serverfault.com/questions/410496
复制相似问题