要让Nginx支持完整WebDAV协议,必须源码编译并启用--with-http_dav_module和--add-module=/www/server/nginx-dav-ext-module,同时安装必要依赖及--with-http_ssl_module。

要让 Nginx 支持完整 WebDAV 协议(包括 PROPFIND、LOCK、UNLOCK 等 Windows/macOS 客户端必需的方法),仅靠默认安装或宝塔一键安装是不够的——必须源码编译,并显式启用核心模块与扩展模块。
确认系统依赖已装全
不同发行版依赖略有差异,但以下几类必不可少:
-
编译工具链:gcc、make、perl、autoconf 等(如 CentOS/AlmaLinux 运行
yum groupinstall "Development Tools") - 基础库:pcre-devel、zlib-devel、openssl-devel、libxml2-devel、libxslt-devel
- 可选但推荐:git(用于拉取第三方模块)、wget/curl(下载源码)
下载并准备模块源码
WebDAV 完整支持需两个部分协同工作:
-
内置模块:
--with-http_dav_module(提供基础 PUT/DELETE/MKCOL) - 第三方扩展:nginx-dav-ext-module(补全 PROPFIND、PROPPATCH、LOCK、UNLOCK、OPTIONS)
建议将扩展模块放在固定路径,例如:
mkdir -p /www/server/nginx-dav-ext-module git clone https://www.php.cn/link/9fc497b1718cabc904e5af82c57bae53.git /www/server/nginx-dav-ext-module
configure 阶段关键参数
进入 Nginx 源码目录后,执行 ./configure,必须包含以下三项(缺一不可):
-
--with-http_dav_module(启用原生 WebDAV 基础支持) -
--add-module=/www/server/nginx-dav-ext-module(接入扩展方法) -
--with-http_ssl_module(WebDAV 客户端普遍要求 HTTPS)
其他常用增强项可选加:--with-http_v2_module、--with-stream、--prefix=/etc/nginx 等。执行后看到 +using system OpenSSL library 和 Configuration summary 结尾无报错,即表示配置成功。
编译安装与验证
运行 make && make install(注意:非 root 用户需加 sudo)。完成后立即验证模块是否生效:
nginx -V 2>&1 | grep -o with-http_dav_module # 应输出该字符串 <p>nginx -V 2>&1 | grep -o nginx-dav-ext</p><h1>若扩展模块被正确识别,通常会在 configure 输出中体现(如 “adding module in …”)</h1><p>
若任一检查失败,说明编译未包含对应模块,需回溯 configure 参数或检查路径是否拼写错误。


















