DAV-Ext#
Этот модуль расширяет поддержку WebDAV методами PROPFIND, OPTIONS, LOCK, UNLOCK.
Стандартный модуль DAV обеспечивает частичную реализацию
WebDAV и поддерживает только методы GET, HEAD, PUT, DELETE, MKCOL, COPY, MOVE.
Для полной поддержки WebDAV необходимо включить стандартный модуль
http_dav_module, а также этот модуль для отсутствующих методов.
Установка#
Для установки модуля используйте один из следующих пакетов:
Angie:
angie-module-dav-ext;Angie PRO:
angie-pro-module-dav-ext.
Загрузка модуля#
Подключение модуля в контексте main{}:
load_module modules/ngx_http_dav_ext_module.so;
Пример конфигурации#
dav_ext_lock_zone zone=lock_zone:10m;
server {
listen 80 default_server;
location / {
root /usr/share/angie/html;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;
dav_ext_lock zone=lock_zone;
}
}
Примеры выполнения запросов#
Загрузка файла на сервер:
$ curl -i -X PUT -d @testf1.txt http://127.0.0.1/testf1.txt
HTTP/1.1 201 Created
Server: Angie/1.12.1
Date: Fri, 17 Jul 2026 19:15:35 GMT
Content-Length: 0
Location: http://127.0.0.1/testf1.txt
Connection: keep-alive
Перезапись этого же файла:
$ curl -i -X PUT -d @testf1.txt http://127.0.0.1/testf1.txt
HTTP/1.1 204 No Content
Server: Angie/1.12.1
Date: Fri, 17 Jul 2026 19:15:35 GMT
Connection: keep-alive
Блокирование файла от перезаписи:
$ curl -i -X LOCK http://127.0.0.1/testf1.txt
HTTP/1.1 200 OK
Server: Angie/1.12.1
Date: Fri, 17 Jul 2026 19:15:35 GMT
Content-Type: text/xml; charset=utf-8
Content-Length: 392
Connection: keep-alive
Lock-Token: <urn:7502d56f>
Попытка перезаписи файла:
$ curl -i -X PUT -d @testf1.txt http://127.0.0.1/testf1.txt
HTTP/1.1 423
Server: Angie/1.12.1
Date: Fri, 17 Jul 2026 19:15:35 GMT
Content-Length: 0
Connection: keep-alive
Файл заблокирован. Разблокировка файла:
$ curl -i -X UNLOCK -H 'Lock-Token: <urn:7502d56f>' http://127.0.0.1/testf1.txt
HTTP/1.1 204 No Content
Server: Angie/1.12.1
Date: Fri, 17 Jul 2026 19:15:35 GMT
Connection: keep-alive
Перезапись файла:
$ curl -i -X PUT -d @testf1.txt http://127.0.0.1/testf1.txt
HTTP/1.1 204 No Content
Server: Angie/1.12.1
Date: Fri, 17 Jul 2026 19:15:35 GMT
Connection: keep-alive
Файл успешно разблокирован и перезаписан.
Дополнительная информация#
Версия: v4.0.1
Подробная документация и исходный код доступны по ссылке: arut/nginx-dav-ext-module