用 WebDAV 自建同步网盘
发布时间:2026-05-06 13:53       
更新时间:2026-05-06 22:02
手机相册和电脑文档想要一个自己说了算的同步目录,WebDAV 是最省事的路子。WebDAV 是基于 HTTP 的文件访问协议,主流文件管理器和办公软件都原生支持,服务器端起一个服务,客户端挂载上就能当网盘用。
## 准备条件
一台云服务器,系统 Ubuntu 22.04 或 CentOS 7.9;一块独立数据盘挂到 /srv/webdav 专门放文件;一个域名,配好 HTTPS,账号密码不能明文跑公网。国内机器走域名要备案,赶时间可以选顺云的海外云服务器 HK-2 这类香港节点,免备案,开通当天就能上线。
## 第一步:起一个 WebDAV 服务端
服务端选型一句话:用支持 WebDAV 协议的轻量文件服务即可,别为几十 GB 的需求上一整套重型网盘。以 rclone 为例,一条命令就能把目录发布成 WebDAV:
```
rclone serve webdav /srv/webdav --addr 127.0.0.1:8080 --user andy --pass 'S3cret-9x'
```
监听 127.0.0.1 是故意的,不把服务直接暴露在公网,加密和访问控制交给前面的 Nginx。再用 systemd 把这条命令托管成常驻服务,开机自启。
## 第二步:反向代理与证书
Nginx 加一段配置,把 dav 域名的请求转到 8080:
```
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 0;
}
```
client_max_body_size 设为 0 是取消上传大小限制,不设的话大文件传到一半就断。证书用 certbot 签一个免费证书就够,记得配自动续期。
## 第三步:客户端挂载
Windows 在文件资源管理器里点"映射网络驱动器",地址填域名;手机端用支持 WebDAV 的文件应用添加同一地址。注意一个坑:Windows 系统自带的 WebDAV 客户端默认限制单文件 50MB,需要改注册表 HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters 下的 FileSizeLimitInBytes 调大上限,或者干脆改用客户端软件做同步。
## 权限与容量规划
每个使用者建独立的账号和子目录,别共享一个账号,出问题查不到是谁删的。自动上传的照片指向独立目录,别和工作文档混放。容量上盯两件事:定期 du -sh /srv/webdav 看增量,磁盘用到八成该清理就清理、该扩容就扩容;回收站和临时文件也算进容量预算里。
挂载成功后传一个几百 MB 的文件做读写测试,再配好每日备份。自建网盘不难,难的是容量和权限一直有人管。