Module ngx_http_dav_module
The ngx_http_dav_module
module processes HTTP and WebDAV methods PUT, DELETE, MKCOL, COPY, and MOVE.
This module is not built by default, it should be enabled with the --with-http_dav_module
configuration parameter.
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: | dav_access |
default: | dav_access user:rw; |
context: | http , server , location |
Sets access permissions for newly created files and directories, e.g.:
dav_access user:rw group:rw all:r;
If any group
or all
access permissions are specified then user
permissions may be omitted:
dav_access group:rw all:r;
syntax: | dav_methods |
default: | dav_methods off; |
context: | http , server , location |
Allows the specified HTTP and WebDAV methods. The parameter off
denies all methods processed by this module, ignoring other parameters;
A file uploaded with the PUT method is first written to a temporary file, then a file is renamed. Starting from version 0.8.9 temporary files and the persistent store can be put on different file systems but be aware that in this case a file is copied across two file systems instead of the cheap rename operation. It is thus recommended that for any given location both saved files and a directory holding temporary files set by the client_body_temp_path directive are put on the same file system.
When creating a file with the PUT method, it is possible to specify the modification date by passing it in the “Date” header field.
syntax: | create_full_put_path |
default: | create_full_put_path off; |
context: | http , server , location |
The WebDAV specification only allows to create files in already existing directories. This directive allows to create all needed intermediate directories.
syntax: | min_delete_depth |
default: | min_delete_depth 0; |
context: | http , server , location |
Allows the DELETE method to remove files provided that the number of elements in a request path is not less than the specified. For example, the directive
min_delete_depth 4;
allows to remove files on requests
/users/00/00/name /users/00/00/name/pic.jpg /users/00/00/page.html
and denies the removal of
/users/00/00