Skip to content

WebDAV

这一篇分两层

  • config.toml 里的 [webdav] —— 路径前缀和上传体积硬上限,改完要重启
  • 管理 -> 系统设置 -> WebDAV —— 总开关,关闭后立即生效,不用重启

普通用户用 WebDAV 一般只关心:去个人空间左侧 WebDAV 页面创建专用账号,把地址塞进 Finder / Windows / rclone。

config.toml 里的静态配置

toml
[webdav]
prefix = "/webdav"
payload_limit = 10737418240
选项默认值作用
prefix"/webdav"WebDAV 路径前缀;改完客户端地址也要一起改
payload_limit10737418240WebDAV 上传体积硬上限,默认 10 GiB

这两项改完要重启服务

和后台总开关不一样,静态配置只在启动时读一次。

后台运行时开关

管理 -> 系统设置 -> WebDAV -> 启用 WebDAV。关闭后桌面客户端会立刻断开,不需要重启

普通用户的标准用法

  1. 个人空间左侧 WebDAV 页面创建一个专用账号
  2. 设用户名和密码
  3. 需要的话限制到根目录下某个文件夹
  4. 把地址、用户名、密码填进 Finder、Windows 资源管理器、rclone、Mountain Duck

用专用账号,不要复用网页登录密码

WebDAV 专用账号的密码、范围都能单独管理,丢了也不会影响主账号。

默认地址

text
https://你的域名/webdav/

如果把 prefix 改成 /dav,客户端地址也改:

text
https://你的域名/dav/

上传大文件要看三处

通过 WebDAV 上传大文件时,下面三个上限取最小值生效

  1. webdav.payload_limit
  2. 反向代理的上传大小限制(Nginx client_max_body_size / Caddy 等)
  3. 存储策略里的单文件大小限制

任何一个卡住,整体就卡住——排查时三处都要看。

反向代理时不要丢这些

WebDAV 不只是 GET/PUT

WebDAV 用了一堆扩展方法和头部,反向代理常常默认丢掉。请确保代理层透传:

头部: AuthorizationDepthDestinationOverwriteIfLock-TokenTimeout

方法: PROPFINDPROPPATCHMKCOLMOVECOPYLOCKUNLOCK

完整反向代理示例见 反向代理部署

基于 MIT 许可证发布