Featured image of post Caddy 搭建 webdav 服务器 🖥️

Caddy 搭建 webdav 服务器 🖥️

Caddy 搭建 webdav 服务器 🖥️ ✨ Caddy 是一款现代化的开源 Web 服务器,以其配置简单、自动 HTTPS 和高度可&

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
29
mkdir -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
4
net 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 的开机自动挂载功能,可以实现便捷的跨设备文件管理。如果你遇到任何问题,欢迎在评论区留言讨论!

最后更新于 2025-09-28