Caddy升级到Caddy2以后,WebDav不再作为内置插件,需要自行安装。以下是搭建记录。
1、安装Caddy:
1 2 3 4 5 |
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/cfg/gpg/gpg.155B6D79CA56EA34.key' | apt-key add - curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/cfg/setup/config.deb.txt?distro=debian&version=any-version' | tee -a /etc/apt/sources.list.d/caddy-stable.list apt update apt install caddy |
2、使用官方工具xcaddy编译带WebDav模块的caddy:
2.1、安装golang。参考链接:https://golang.org/doc/install
1 2 3 |
wget https://golang.org/dl/go1.15.6.linux-amd64.tar.gz tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin |
确认是否安装成功:
1 |
go version |
2.2、下载xcaddy,编译caddy并替换现有caddy程序:
1 2 3 |
wget https://github.com/caddyserver/xcaddy/releases/download/v0.1.7/xcaddy_0.1.7_linux_arm64.tar.gz && tar xzvf xcaddy_0.1.7_linux_arm64.tar.gz ./xcaddy build v2.3.0 --with github.com/mholt/caddy-webdav cp caddy /usr/bin/ |
3、修改Caddyfile,配置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 |
{ order webdav last } :8080 { encode gzip # 密码不能为明文,可以使用自带的工具加密: # caddy hash-password --plaintext 密码 basicauth { username JDJhJDE0JFEuZC5abEFwbk14Qk4vdGJvcUp5MnVXVDZya3NBSFovRFlRSW85VnV2emJGSUxBZmhSYy9p } webdav { root /media/webdav prefix /webdav } } https://domainname:443 { encode gzip #修改为指定邮箱,Caddy会自动申请证书 tls username@domain.com reverse_proxy localhost:8080 { header_up Host {http.reverse_proxy.upstream.hostport} } } |
参考资料:
- Caddy Documentation
- xcaddy相关说明
- openwrt使用caddy运行webdav服务,备份手机相册等