操作环境 Debian/Ubuntu/CentOS
* 当然 caddy 也可以在 Windows 上运行,文章的最后会讲
curl https://getcaddy.com | bash -s personal
# 或者
wget -qO- https://getcaddy.com | bash -s personal
配置caddy
mkdir /etc/caddy
touch /etc/caddy/Caddyfile
chown -R root:www-data /etc/caddy
配置 systemd
curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service
systemctl daemon-reload
systemctl enable caddy.service
systemctl status caddy.service
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
使用官方脚本的
# 启动
systemctl start caddy.service
# 停止
systemctl stop caddy.service
# 重启
systemctl restart caddy.service
# 重新加载
systemctl reload caddy.service
使用一键脚本的
# 启动
/etc/init.d/caddy start
# 停止
/etc/init.d/caddy stop
# 重启
/etc/init.d/caddy restart
# 使用官方脚本安装的
nano /etc/caddy/Caddyfile
# 使用一键脚本安装的
nano /usr/local/caddy/Caddyfile
假设域名是 feiyu.me
使用 /home/wwwroot/mywebsite 作为根目录搭建一个静态站点
feiyu.me
root /home/wwwroot/mywebsite
gzip
tls admin@feiyu.me
/etc/init.d/caddy restart
OK!至此一个简单的 HTTPS Web 服务,已经搭建完成。
caddy 会自动申请由 Let's Encrypt 颁发的证书,并自动配置好 HTTPS,而且还会在证书即将到期时自动完成续约。整个过程全部在后台静默完成。
假如 Node.js 进程运行在 3000 端口上,只需要这样配置
feiyu.me
proxy / 127.0.0.1:3000
gzip
tls admin@feiyu.me
fastcgi / /run/php/php7.0-fpm.sock php {
root /home/wwwroot/phpweb
}
那么 caddy 默认支持 HTTP/2 、反向代理、php 又能简单快速的部署 HTTPS 服务,它就没有什么缺点了吗?
答案是:有的。caddy 虽然很方便,但是就目前的版本来说,其反向代理性能和并发能力仍然不如 Nginx。
不过对于个人的小站来说,这点性能差距基本上可以忽略不计。
caddy 的另外一个缺点:虽然它可以自动申请并配置SSL证书,但是其申请数量是有上限的。
大概每天同一个IP 可以申请10张,如果超过这个数量,那么 caddy 将无法启动。
当然,这个问题也是可以轻松解决的。只需要通过手工指定证书文件和私钥即可。
tls /ssl/cert.pem /ssl/key.pem
或者你也可以选择关闭 HTTPS,但是不建议你这样做
tls off
https://www.feiyu.me {
proxy / 127.0.0.1:3000
gzip
tls /ssl/crt.pem /ssl/key.pem
}
https://bbs.feiyu.me {
fastcgi / /run/php/php7.0-fpm.sock php {
root /home/wwwroot/phpwind
}
gzip
tls admin@feiyu.me
}
http://feiyu.me {
redir https://www.feiyu.me{uri}
}
header / {
Strict-Transport-Security "max-age=31536000;"
}
######### feiyu.me ##########
https://www.feiyu.me {
proxy / 127.0.0.1:3000
gzip
tls /home/ssl/feiyu.me/fullchain.pem /home/ssl/feiyu.me/key.pem
header / {
Strict-Transport-Security "max-age=31536000;"
X-XSS-Protection "1; mode=block"
X-Content-Type-Options "nosniff"
X-Frame-Options "DENY"
}
}
https://feiyu.me {
tls /home/ssl/feiyu.me/fullchain.pem /home/ssl/feiyu.me/key.pem
redir https://www.feiyu.me{uri}
}
http://feiyu.me {
redir https://www.feiyu.me{uri}
}
http://www.feiyu.me {
redir https://www.feiyu.me{uri}
}
首先我们先下载 caddy 的安装包
Github 下载地址:https://github.com/caddyserver/caddy/releases
建议下载稳定版 Latest release 。目前最新的稳定版是 1.0.4
下载并解压。在 caddy.exe所在的目录内新建一个文本
重命名为Caddyfile。对,没有后缀名
使用记事本或者 Notepad++ 打开它,配置文件的写法都是一样的,没有区别。
配置完成后,双击主程序 caddy.exe 即可。
Caddy 目前支持的插件还不是很多,但是已经能满足基本需求。
你可以根据自己的需要在官方网站上进行下载。
具体,这里就不铺开讲了,建议参阅官方文档。
© 2020 飞鱼的博客