Nginx官方文档(十五)【HTTP之ngx_http_dav_module|ngx_http_empty_gif_module|ngx_http_f4f_module】

鲁辉
2023-12-01

ngx_http_dav_module

ngx_http_dav_module 模块用于通过 WebDAV 协议进行文件管理自动化。该模块处理 HTTP 和 WebDAV 的 PUT、DELETE、MKCOL、COPY 和 MOVE 方法。

该模块不是默认构的,您可以在构建时使用 --with-http_dav_module 配置参数启用。

需要其他 WebDAV 方法进行操作的 WebDAV 客户端将无法使用此模块。

示例配置

location / {
    root                  /data/www;

    client_body_temp_path /data/client_temp;

    dav_methods PUT DELETE MKCOL COPY MOVE;

    create_full_put_path  on;
    dav_access            group:rw  all:r;

    limit_except GET {
        allow 192.168.1.0/32;
        deny  all;
    }
}

指令

dav_access

-说明
语法dav_access users:permissions ...;
默认dav_access user:rw;
上下文http、server、location

设置新创建的文件和目录的访问权限,例如:

dav_access user:rw group:rw all:r;

如果指定了任何 group (组)或所有访问权限,则可以省略 user 权限:

dav_access group:rw all:r;

dav_methods

-说明
语法dav_methods off | method ...;
默认dav_methods off;
上下文http、server、location

允许指定的 HTTP 方法和 WebDAV 方法。参数 off 将拒绝本模块处理的所有方法。支持以下方法:PUT、DELETE、MKCOL、COPY 和 MOVE。

使用 PUT 方法上传的文件首先需要写入一个临时文件,然后重命名该文件。从 0.8.9 版本开始,临时文件和持久存储可以放在不同的文件系统上。但是,请注意,在这种情况下,文件复制需要跨越两个文件系统,而不是简单的重命名操作。因此,建议通过 client_body_temp_path 指令对临时文件设置存放目录,与保存文件的目录设置在同一文件系统上。

当使用 PUT 方法创建文件时,可以通过在 Date 头域中传递日期来指定修改日期。

create_full_put_path

-说明
语法create_full_put_path on | off;
默认create_full_put_path off;
上下文http、server、location

WebDAV 规范仅允许在已存在的目录中创建文件。开启该指令允许创建所有需要的中间目录。

min_delete_depth

-说明
语法min_delete_depth number;
默认min_delete_depth 0;
上下文http、server、location

允许 DELETE 方法删除文件,只要请求路径中的元素数不少于指定的数字。例如,指令:

min_delete_depth 4;

允许删除请求中的文件

/users/00/00/name
/users/00/00/name/pic.jpg
/users/00/00/page.html

拒绝删除的文件

/users/00/00

原文档

http://nginx.org/en/docs/http/ngx_http_dav_module.html


ngx_http_empty_gif_module

ngx_http_empty_gif_module 模块发送单像素透明 GIF。

示例配置

location = /_.gif {
    empty_gif;
}

指令

empty_gif

-说明
语法empty_gif;
默认——
上下文location

开启针对 location 的模块处理。

原文档

http://nginx.org/en/docs/http/ngx_http_empty_gif_module.html


ngx_http_f4f_module

ngx_http_f4f_module 模块为 Adobe HTTP 动态流(HDS)提供服务端支持。

该模块以 /videoSeg1-Frag1 形式处理 HTTP 动态流请求,使用 videoSeg1.f4x 索引文件从 videoSeg1.f4f 文件中提取所需的片段。该模块是 Apache 的 Adobe f4f 模块(HTTP Origin Module)的替代品。

它需要通过 Adobe 的 f4fpackager 进行预处理,有关详细信息,请参阅相关文档。

此模块作为我们商业订阅的一部分。

示例配置

location /video/ {
    f4f;
    ...
}

指令

f4f

-说明
语法f4f;
默认——
上下文location

开启针对 location 的模块处理。

f4f_buffer_size

-说明
语法f4f4f_buffer_sizef size;
默认f4f_buffer_size 512k;
上下文http、server、location

设置用于读取 .f4x 索引文件的缓冲区的 size (大小)。

原文档

http://nginx.org/en/docs/http/ngx_http_f4f_module.html

 类似资料: