Модуль 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;
}
}
Директивы
| Синтаксис: | create_full_put_path on | off; |
|---|---|
| Значение по умолчанию: | create_full_put_path off; |
| Контекст: | http, server, location |
Спецификация WebDAV разрешает создание файлов только в уже существующих каталогах. Эта директива позволяет создавать все необходимые промежуточные каталоги.
| Синтаксис: | dav_access users:permissions ...; |
|---|---|
| Значение по умолчанию: | 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
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
© 2002-2021 Igor Sysoev
© 2011-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_dav_module.html