WebDAV 服务搭建指南
方案概述
本文提供在 Ubuntu 20.04 服务器上搭建安全稳定 WebDAV 服务的两种方案:原生部署和 Docker 容器部署。
方案一:原生 Apache 部署
安装配置
# 安装 Apache 和 WebDAV 模块
sudo apt update && sudo apt install apache2 apache2-utils
sudo a2enmod dav dav_fs auth_digest
sudo systemctl restart apache2# 创建目录和认证
sudo mkdir -p /var/www/webdav
sudo chown www-data:www-data /var/www/webdav
sudo htdigest -c /etc/apache2/webdav.password "WebDAV Restricted" username
虚拟主机配置
创建 /etc/apache2/sites-available/webdav.conf:
<VirtualHost *:80>Alias /webdav /var/www/webdav<Location /webdav>DAV OnAuthType DigestAuthName "WebDAV Restricted"AuthUserFile /etc/apache2/webdav.passwordRequire valid-userOptions None</Location>
</VirtualHost>
启用服务
sudo a2ensite webdav.conf
sudo systemctl reload apache2
方案二:Docker 容器部署
推荐镜像
· bytemark/webdav - 经典稳定,配置简单
· webdav/server - 替代选择
· messense/aliyundrive-webdav - 阿里云盘转 WebDAV
· lutixiaya/nwebdav - 基于 Nginx
快速部署
docker run -d \--name=webdav \--restart=always \-p 80:80 \-v /path/to/data:/var/lib/dav/data \-e AUTH_TYPE=Digest \-e USERNAME=your_username \-e PASSWORD=your_password \bytemark/webdav
安全配置要点
基础安全
· 使用强密码(12位以上,含大小写字母、数字、特殊字符)
· 启用 Digest 认证而非 Basic
· 限制 HTTP 方法(仅允许必要方法)
· 隐藏服务器版本信息
传输安全
# 生成自签名证书(无域名情况)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \-keyout /etc/ssl/private/webdav-selfsigned.key \-out /etc/ssl/certs/webdav-selfsigned.crt
系统安全
· 定期更新系统:sudo apt update && sudo apt upgrade
· 配置防火墙规则
· 考虑安装 Fail2ban 防护暴力破解
· 定期检查访问日志
客户端连接
连接地址
· HTTP: http://服务器IP/webdav(原生)或 http://服务器IP:端口(Docker)
· 用户名密码认证
测试命令
# 列出目录
curl -X PROPFIND http://服务器IP/webdav/ -u 用户名:密码
维护监控
日志查看
# 原生部署
sudo tail -f /var/log/apache2/webdav_access.log# Docker 部署
docker logs -f webdav
数据备份
建议定期备份 WebDAV 数据目录,确保数据安全。
方案对比
方案 优点 缺点 适用场景
原生部署 性能优化、深度控制 配置复杂 生产环境、高性能需求
Docker部署 快速部署、隔离性好 轻微性能损耗 测试环境、快速部署
选择建议:个人使用推荐 Docker 方案,企业生产环境可考虑原生部署以获得更好性能。