在 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 头来实现限速。