dav-ext
Adds the missing WebDAV methods to nginx
Overview
nginx-dav-ext-module adds the WebDAV methods PROPFIND, OPTIONS, LOCK, and UNLOCK to nginx. The stock ngx_http_dav_module only implements PUT, DELETE, MKCOL, COPY, and MOVE, which is not enough for most WebDAV clients.
With both modules enabled, nginx can serve a full WebDAV share that works with clients such as macOS Finder, Windows Explorer, and cadaver. Locking state is kept in a shared memory zone, so it works across worker processes.
The module is written by Roman Arutyunyan, an nginx core developer. It requires libxml2 for parsing PROPFIND request bodies.
Key directives
dav_ext_methodsEnables PROPFIND, OPTIONS, LOCK, and UNLOCK for a location, complementing the dav_methods directive of the stock DAV module.dav_ext_lock_zoneDeclares a shared memory zone that stores WebDAV locks, with a configurable size and lock timeout.dav_ext_lockActivates locking in a location by pointing it at a named lock zone.PROPFIND supportAnswers property queries about files and collections, which is the request most WebDAV clients send first.Example
Availability
Ships as a dynamic module in libnginx-mod-http-dav-ext, installed automatically with nginx-extras. The package drops a load_module config into /etc/nginx/modules-enabled/, so it loads on start.