模块 ngx_http_dav_module
| create_full_put_path dav_access dav_methods min_delete_depth 的配置 Directives 示例 |
这ngx_http_dav_modulemodule 用于文件
通过 WebDAV 协议实现管理自动化。
该模块处理 HTTP 和 WebDAV
方法 PUT、DELETE、MKCOL、COPY 和 MOVE。
这个模块不是默认构建的,它应该使用--with-http_dav_moduleconfiguration 参数。
需要其他 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;
}
}
Directives
| 语法: |
create_full_put_path |
|---|---|
| 默认值: |
create_full_put_path off; |
| 上下文: |
http,server,location |
WebDAV 规范只允许在 existing 目录。 该Directives允许创建所有需要的中间目录。
| 语法: |
dav_access |
|---|---|
| 默认值: |
dav_access user:rw; |
| 上下文: |
http,server,location |
为新创建的文件和目录设置访问权限,例如:
dav_access user:rw group:rw all:r;
如果有group或all访问权限
指定user权限可以省略:
dav_access group:rw all:r;
| 语法: |
dav_methods
|
|---|---|
| 默认值: |
dav_methods off; |
| 上下文: |
http,server,location |
允许指定的 HTTP 和 WebDAV 方法。
参数off拒绝所有已处理的方法
通过此模块。
支持以下方法:PUT,DELETE,MKCOL,COPY和MOVE.
使用 PUT 方法上传的文件首先写入临时文件 ,然后重命名文件。 从版本 0.8.9 开始,临时文件和持久化存储 可以放在不同的文件系统上。 但是,请注意,在这种情况下,文件会被复制 跨两个文件系统,而不是廉价的重命名作。 因此,建议对于任何给定位置,保存的文件和 目录保存临时文件(由 client_body_temp_path Directives设置)放在同一个文件系统上。
使用 PUT 方法创建文件时,可以指定 通过在 “Date” 中传递修改日期 header 字段。
| 语法: |
min_delete_depth |
|---|---|
| 默认值: |
min_delete_depth 0; |
| 上下文: |
http,server,location |
允许 DELETE 方法删除文件,前提是 请求路径中的元素数不小于指定的 数。 例如,Directives
min_delete_depth 4;
允许根据请求删除文件
/users/00/00/name /users/00/00/name/pic.jpg /users/00/00/page.html
并否认删除了
/users/00/00