Caddy2 部署网站,并启用Webdav

Caddy官方升级到了2.0版,新版配置文件,不与旧版兼容。
毕竟迟早都要升级,于是参考官方文档,研究一下新版caddy设置。
虽然Caddy2官方推荐使用JSON配置文件,但这里还是在用Caddyfile。

基本用法

执行文件,直接从官方下载:
https://github.com/caddyserver/caddy/releases
配置文件名,默认为当前文件夹下面的“Caddyfile”。
启动caddy:

#前台启动
caddy run --config ./Caddyfile
#后台运行
caddy start --config ./Caddyfile
#格式化配置文件
caddy fmt -overwrite ./Caddyfile

##准备SSL证书
##生成rsa私钥,des3算法,1024位强度,ssl.key是秘钥文件名。
openssl genrsa -des3 -out ssl.key 1024
#去除密码
openssl rsa -in ssl.key -out ssl.key
#生成证书
openssl req -new -key ssl.key -out ssl.csr

配置文件示例:

http://localhost:5001 {
        encode gzip
        root /you/path/
}
localhost:5002 {
        encode gzip
        file_server browse {
                root /you/file/path
        }
}

caddy默认为https,需要http服务的话,需要明确地指定http。

编译caddy,添加 webdav 插件

使用官方工具 xcaddy,编译附带webdav插件。
有两个前提:
1. 本机已配置好golang环境。
2. 本机启用了go moudles。(GO111MODULE=”auto” 或 GO111MODULE=”on”)

#克隆代码
git clone https://github.com/caddyserver/xcaddy
#进入文件夹
cd xcaddy
#安装xcaddy工具
go get -u github.com/caddyserver/xcaddy/cmd/xcaddy
#编译caddy,指定版本为v2.0.0
xcaddy build v2.0.0  --with  github.com/mholt/caddy-webdav
#查看编译了什么模块,应该有http.handlers.webdav
./caddy list-modules
#把新版caddy,复制到系统路径
cp ./caddy /usr/local/bin/
#如果是windows的话
./caddy.exe list-modules

webdav配置示例

http://www.yumenaka.net {
    webdav {
        root /file/path
    }
    tls /Users/bai/Dropbox/Linux/ssl.crt /Users/bai/Dropbox/Linux/ssl.key
    # 密码不能为明文,可以使用自带的工具加密:
    # caddy hash-password  --plaintext sdderght
    basicauth {
        bai JDJhJDEwJG9FRzl5eDM4ZHBmNDVFOUUwQkZTcHU1QzlmVHN6OGFrYURXdi9PQ1FGb2VzTHZmWEN1MjRH
    }
}

参考文档

簡単にSSL証明書を取得可能&シンプルな設定ファイルでHTTP/3も利用できるGo製ウェブサーバー「Caddy」
服务器配置https协议,三种免费的方法
用RaspberryPi搭建Aria2+Caddy2下载站
Caddy 2 使用Caddyfile部署博客网站
用Caddy2反向代理地下城世界
reverse_proxy (Caddyfile directive) — Caddy Documentation

2 评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注