来源:NanCheung`s Blog
链接:https://blog.nancheung.com
/archives/984096
商业转载请联系作者获得授权,非商业转载请注明出处。
我一直觉得作为一个自用的微型vps,没必要使用nginx这种复杂的web服务端。我以前一直使用goflyway,它是一个使用Golang编写的自带反代理功能的隧道HTTP隧道代理工具。但是goflyway的反代理功能太弱了。这次我替换了一个更好的工具——Caddy。
什么是caddy
Caddy服务器是一个开源的,使用 Golang 编写,支持 HTTP/2 的 Web 服务端。它使用Golang 标准库提供HTTP 功能。 Caddy 一个显著的特性是默认启用HTTPS。它是第一个无需额外配置即可提供HTTPS 特性的Web 服务器。
简单的说,caddy是一个配置简单、默认支持https特性的web服务端。
注意
本文所有指令前都加上了sudo,如果你是root用户,可以省去sudo。
如何安装Caddy
一、使用官方一键脚本安装
安装完毕后,执行 which caddy
可以看到,caddy已经被安装到了 /usr/local/bin/caddy
中。
二、配置caddy
-
创建配置文件放到 /etc/caddy 目录
Caddy 的配置文件叫做 Caddyfile,我们一般放在
/etc/caddy
下 -
配置ssl证书目录
caddy 会自动生成 ssl 证书,需要一个文件夹放置 ssl 证书
-
配置 systemd
将caddy使用systemd配置成为一个服务,方便管理,并且开机自启动。Caddy配置systemd的官方文档
以上四条命令的意义依次分别是:
- 从 github 下载 systemd 配置文件放到systemd的启动文件目录下
- 重新加载 systemd 配置
- 设置 caddy 服务自启动
- 查看 caddy 状态
三、配置
此处只以本站的配置为例,更高阶更详细的配置应该看看 Caddy文档
-
编辑Caddyfile
打开Caddyfile文件,上文配置的路径是:
/etc/caddy/Caddyfile
-
加入反代理配置
上例是一个简单的代理服务配置。第一行为自己的域名,tls后面加上邮箱会自动申请let’sencrypt ssl证书。
-
重启caddy使配置生效
四、管理caddy的指令
-
启动caddy
-
停止caddy
-
重启caddy
相关资料
官网:https://caddyserver.com/
GitHub:https://github.com/mholt/caddy
Caddy中文文档:https://dengxiaolong.com/caddy/zh/