nginx 下载文件 header 实现限速

发布时间: 更新时间: 总字数:254 阅读时间:1m 作者: IP上海 分享 网址

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

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数