Caddy 搭建 webdav 服务器 🖥️
Caddy 搭建 webdav 服务器 🖥️
✨ Caddy 是一款现代化的开源 Web 服务器,以其配置简单、自动 HTTPS 和高度可扩展性而著称。它凭借简洁的 Caddyfile 配置语法和内置的自动化证书管理(通过 Let’s Encrypt),让用户能快速部署各种网络服务。本文将详细介绍如何使用 Caddy 快速搭建一个安全、高效的 WebDAV 服务器,实现跨设备的文件共享与管理。
🔧 WebDAV(Web Distributed Authoring and Versioning) 是一种基于 HTTP 协议的扩展,允许用户通过网络直接编辑和管理远程服务器上的文件。它相当于“网络磁盘”,支持文件上传、下载、删除、创建目录等操作,并具有良好的兼容性(如 Windows 资源管理器、macOS Finder 等均可直接挂载)。
📋 文章目录
✨ Caddy 与 WebDAV 简介
Caddy 是一个强大的开源 Web 服务器,与 Nginx 或 Apache 相比,它的最大优势在于配置简单且默认支持自动 HTTPS。通过其插件系统,可以轻松扩展功能,例如搭建 WebDAV 服务。
🔐 WebDAV 的优势:
- 跨平台支持:Windows、macOS、Linux 等系统均可直接挂载使用;
- 数据安全:配合 Caddy 可轻松启用 HTTPS 加密传输;
- 操作简便:像操作本地磁盘一样管理远程文件。
📦 一、Ubuntu 安装二进制 Caddy
1. 创建 Caddy 存放目录(包括证书存放目录)
1 | mkdir -p /usr/local/caddy/ssl && cd /usr/local/caddy |
2. 下载 Caddy
到 Caddy 官网 下载对应平台的二进制文件(平台选择 Linux amd64),选中带有 WebDAV 插件的可执行程序,点击下载。
3. 将下载好的 Caddy 程序上传到 /usr/local/caddy
目录中并重命名
1 | cd /usr/local/caddy && mv caddy_linux_* caddy |
4. 赋予执行权限
1 | chmod u+x /usr/local/caddy/caddy |
5. 升级 Caddy 版本
1 | cd /usr/local/caddy && ./caddy upgrade |
6. 查看当前二进制文件中包含的非标准模块的包名列表
1 | cd /usr/local/caddy && ./caddy list-modules --packages |
7. 二进制 Caddy 升级命令
1 | cd /usr/local/caddy && ./caddy add-package github.com/caddyserver/caddy/v2 |
8. 查看 Caddy 版本
1 | cd /usr/local/caddy && ./caddy version |
9. 查看 Caddy 默认端口
Caddy 默认管理端口为 2019,可用于检查运行状态:1
curl localhost:2019
⚙️ 二、创建 WebDAV 文件服务配置文件
WebDAV 文件服务地址:https://file.meimolihan.eu.org:6663
1. Windows 挂载方式
在 Windows 中,可以通过资源管理器直接挂载 WebDAV:
- 打开“此电脑” → 右键“网络” → “映射网络驱动器”;
- 输入以下地址并设置凭据:
1
https://file.meimolihan.eu.org:6663/webdav
2. 生成密码并创建配置文件
使用以下命令生成加密密码(示例明文密码为 12345
):1
/usr/local/caddy/caddy hash-password --plaintext 12345
创建 WebDAV 配置文件:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29mkdir -pm 755 /usr/local/caddy/conf.d && touch /usr/local/caddy/conf.d/webdav.conf && chmod u+x /usr/local/caddy/conf.d/webdav.conf && cat > /usr/local/caddy/conf.d/webdav.conf <<'EOF'
## caddy 反向代理 WebDAV 服务
https://file.meimolihan.eu.org:6663 {
## 设置 /mnt 为可被访问目录(可自行修改)
root * /mnt
encode gzip
## 终端生成12345的密码命令:/usr/local/caddy/caddy hash-password --plaintext 12345
## 用户名:admin(可自定义)
basic_auth {
admin $2a$14$yI/KQg2h5rQkXao4lzRMC.Rx5t3bRuGyCYkvEeiJyc9hUrYt0USsi
}
## 指定证书路径,绝对路径为/usr/local/caddy/ssl/private.key等于ssl/private.key
tls /usr/local/caddy/ssl/full_chain.pem /usr/local/caddy/ssl/private.key
route {
rewrite /webdav /webdav/
webdav /webdav/* {
## 访问WebDAV服务的前缀
prefix /webdav
}
## 启用当前目录的文件服务器,并允许浏览文件列表
file_server browse
}
}
EOF
cd /usr/local/caddy && ./caddy fmt --overwrite && ./caddy reload
💻 三、Windows 开机自动挂载 Samba 和 WebDAV
1. 查看 Samba 配置文件
在 Linux 端查看 Samba 共享配置:1
cat /etc/samba/smb.conf
2. 在 Windows 创建开机自启动脚本
创建一个 .bat
脚本文件,内容如下(根据实际修改 IP、共享名和密码):1
2
3
4net use Z: \\10.10.10.254\PVE-mydisk yifan0719 /user:root
net use Y: \\10.10.10.245\Debian yifan0719 /user:admin
net use X: \\10.10.10.254\PVE-ntfs yifan0719 /user:root
net use W: https://file.meimolihan.eu.org:6663/webdav /user:admin yifan0719
3. 打开开机自启动目录
在 Windows 中按下 Win + R
,输入以下命令即可打开自启动文件夹:1
shell:startup
将上述 .bat
脚本放入该文件夹即可实现开机自动挂载。
🎉 总结:通过 Caddy 搭建 WebDAV 服务不仅配置简单,而且安全性高(自动 HTTPS),结合 Windows 的开机自动挂载功能,可以实现便捷的跨设备文件管理。如果你遇到任何问题,欢迎在评论区留言讨论!