Spec-Zone.ru › nginx

Модуль ngx_http_dav_module

  • Пример конфигурации
  • Директивы
  • create_full_put_path
  • dav_access
  • dav_methods
  • min_delete_depth

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API