On this page
Module ngx_http_dav_module
ngx_http_dav_module
模块用于通过 WebDAV 协议进行文件管理自动化。该模块处理 HTTP 和 WebDAV 方法 PUT,DELETE,MKCOL,COPY 和 MOVE。
默认情况下未构建此模块,应使用--with-http_dav_module
配置参数启用它。
Note
需要其他 WebDAV 方法才能运行的 WebDAV 客户端不适用于此模块。
Example Configuration
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;
}
}
Directives
Syntax: | create_full_put_path on | off; |
Default: | create_full_put_path off; |
Context: | http , server , location |
WebDAV 规范仅允许在现有目录中创建文件。该指令允许创建所有需要的中间目录。
Syntax: | dav_access users:permissions ...; |
Default: | dav_access user:rw; |
Context: | http , server , location |
设置新创建的文件和目录的访问权限,例如:
dav_access user:rw group:rw all:r;
如果指定了任何group
或all
访问权限,则可以省略user
权限:
dav_access group:rw all:r;
Syntax: | dav_methods off | method ...; |
Default: | dav_methods off; |
Context: | http , server , location |
允许指定的 HTTP 和 WebDAV 方法。参数off
拒绝此模块处理的所有方法。支持以下方法:PUT
,DELETE
,MKCOL
,COPY
和MOVE
。
首先将使用 PUT 方法上传的文件写入临时文件,然后重命名该文件。从 0.8.9 版本开始,可以将临时文件和永久存储放在不同的文件系统上。但是,请注意,在这种情况下,文件是跨两个文件系统复制的,而不是廉价的重命名操作。因此,建议将对于任何给定位置的已保存文件和由client_body_temp_path指令设置的保存临时文件的目录都放在同一文件系统上。
使用 PUT 方法创建文件时,可以通过将其传递到“日期”标题字段中来指定修改日期。
Syntax: | min_delete_depth number; |
Default: | min_delete_depth 0; |
Context: | 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