在 Nginx 中,可以通过设置 limit_rate
指令来实现下载文件的限速,这不需要特别设置 HTTP 头。
例如:
server {
listen 80;
server_name example.com;
location /download {
alias /path/to/your/file;
limit_rate 100k; # 每秒最多 100KB
}
}
在上述配置中,当用户访问 /download
路径来下载文件时,下载速度会被限制为每秒最多 100KB。
如果希望通过 HTTP 头来实现更精细的控制,可以使用 X-Accel-Limit-Rate
头。但需要注意的是,这通常需要与内部重定向(X-Accel-Redirect
)结合使用。
例如:
server {
listen 80;
server_name example.com;
location /protected_download {
internal;
alias /path/to/your/file;
proxy_set_header X-Accel-Limit-Rate 100000; # 每秒最多 100KB,单位是字节
}
location /download {
proxy_pass http://localhost/protected_download;
}
}
在这个例子中,当用户访问 /download
路径时,会通过内部重定向到 /protected_download
,并在内部请求中设置 X-Accel-Limit-Rate
头来实现限速。