宝塔nginx自建WebDAV服务方法详解
在宝塔面板上自建WebDAV服务的方法详解
宝塔面板自带的Nginx WebDAV功能存在一个限制,即不允许设置与站点域名相同的域名,这确实是一个比较奇怪的设计选择。因此,以下方法将不使用宝塔的图形界面功能来实现WebDAV服务。
步骤一:确认Nginx模块
首先,你需要确认你的Nginx服务器已经安装了nginx-dav-ext-module模块。你可以通过输入命令nginx -V来查看。根据测试,宝塔Nginx的1.24.0版本是自带这个模块的。
nginx version: nginx/1.24.0
built by gcc 12.2.0 (Debian 12.2.0-14)
built with OpenSSL 1.1.1q 5 Jul 2022
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --add-module=/www/server/nginx/src/ngx_http_substitutions_filter_module-master --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module如果没有这个模块,你可以手动安装。
步骤二:生成账号密码的授权文件
使用宝塔自带的密码访问功能来打开,并生成账号密码的授权文件。
步骤三:配置Nginx
将以下location配置粘贴到你的Nginx配置文件中,注意替换webdav.skywc.com为你自己的域名,并注释掉宝塔自带的鉴权代码。
location / {
client_max_body_size 10240M;
auth_basic "Restricted Content";
auth_basic_user_file /www/server/pass/webdav.skywc.com.pass;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;
create_full_put_path on;
dav_access user:rw group:rw all:rw;
autoindex on;
charset utf-8;
}步骤四:测试使用
使用相应的软件来测试你的WebDAV服务是否正常工作。
额外说明
这种方法不支持Obsidian的Remotely Save插件同步的无限目录功能。可能会遇到类似下面的HTTP状态码问题:
27.37.58.81 - webdav [18/Nov/2025:20:04:08 +0800] "OPTIONS /LLMNote/ HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.8.10 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36"
27.37.58.81 - webdav [18/Nov/2025:20:04:08 +0800] "PROPFIND /LLMNote/ HTTP/1.1" 207 438 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.8.10 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36"
27.37.58.81 - webdav [18/Nov/2025:20:04:09 +0800] "PROPFIND /LLMNote/ HTTP/1.1" 403 548 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.8.10 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36"由于性能问题,模块可能被禁用,除非你重新编写C代码并编译。不过,如果你确实有这个需求,也可以考虑使用PHP的WebDAV方案。
评论已关闭