upload_range_header_buffer_size

'upload_range_header_buffer_size' 指令指定用于处理文件上传中范围头的缓冲区大小。

语法upload_range_header_buffer_size size;
默认值none
上下文http, server, location
参数1

说明

upload_range_header_buffer_size 指令在管理 NGINX 服务器如何处理多部分文件上传中的范围头时发挥着关键作用。当客户端上传文件时,客户端可以指定 Content-Range 头,从而允许上传恢复或将上传分割为更小的部分。该指令设定了用于保存这些范围头的缓冲区大小,这对于高效处理大文件上传或多个部分按序上传的情况非常重要。

upload_range_header_buffer_size 的取值决定为此目的分配了多少内存。如果该缓冲区过小,可能导致无法完整读取传入的范围头,从而可能造成上传不完整或在处理正在上传的文件部分时出现错误。因此,建议选择足够大的值,尤其是在预计会有较大文件或多个并发上传的环境中。该指令必须在 httpserverlocation 上下文中配置才能生效,这允许根据服务器架构灵活配置。

该指令与 NGINX 上传模块提供的文件上传处理机制密切相关。通过确保缓冲区大小足够,诸如 upload_pass 之类的文件上传处理程序可以更有效地管理多部分数据,从而提高文件上传操作的性能和可靠性。用户在各自的部署中测试和衡量缓冲区大小以优化资源利用和上传性能非常重要。

配置示例

http {
    upload_range_header_buffer_size 16k;
}

将此值设置得过低可能会导致上传失败,因为用于 Range 请求头的缓冲区大小不足。

增大缓冲区大小会消耗更多内存,在高并发场景下这可能不太可取。

← 返回所有指令