利用Nginx的X-Accel-Redirect头实现下载控制

nginx配置文档
/* 此段是为了防止直接通过地址访问文件而做,可以作为防盗链,filepath文件本地存放的路径*/
location /filepath
{
  internal;
}
例如:location /Data {
               root /home/www/xxx;
               internal;
            }
php文件设置:
$filepath = '2011/12/31/abcd.zip';
$filename = 'abcd.zip';
header("Content-Disposition: attachment; filename= '{$filename}'");
header("Content-Type: application/octet-stream");
header('X-Accel-Redirect: /down/'.{$filepath}); 
header("X-Accel-Buffering: yes");
header("X-Accel-Limit-Rate :102400"); //速度限制 Byte/s
//header("Accept-Ranges: none");//单线程 限制多线程
在使用时候,必须要明白以下头信息是不能被Nginx更改的(即这些信息得由你来指定!)
Content-Type
Content-Disposition
Accept-Ranges
Set-Cookie
Cache-Control
Expires
如果其中的一些信息没有指定,那么重定向请求设置!

更多处理控制
你可以通过一下头信息来配置 X-Accel-Redirect 特性:
X-Accel-Limit-Rate: 1024
X-Accel-Buffering: yes|no
X-Accel-Charset: utf-8


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值