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;
}
}语 法:create_full_put_path on | off;
默认值:create_full_put_path off;
上下文:http, server, locationWebDAV 规范只允许在现有目录中创建文件,该指令允许创建所有需要的中间目录。
语 法:dav_access users:permissions ...;
默认值:dav_access user:rw;
上下文:http, server, location为新创建的文件和目录设置访问权限,例如:
dav_access user:rw group:rw all:r;如果指定了任何组或所有访问权限,则可以省略用户权限:
dav_access group:rw all:r;语 法: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” 头字段中传递修改日期来指定修改日期。
语 法: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