我们通常在部署 web 服务的时候往往会选择 nginx 作为最前面的一个狠角色,它的性能和能力大家也是有目共睹的,反向代理负载均衡等等。而作为后起之秀 caddy 却不被人所熟知,不过渐渐的也开始展露头角。 今天我就来介绍这个 caddy ,为什么我会称它有可能成为下一个 nginx。
我先列举几个痛点你看下:
- nginx 的配置文件你是否感觉有时候有点臃肿
- https 需要购买或者申请证书,然后配置是否觉得麻烦?
- linux 下安装 nginx 需要部分依赖
而 caddy 确实给我了一种眼前一亮的感觉。
使用
官网:https://caddyserver.com/
安装
https://caddyserver.com/docs/download 安装很简单,直接下载对应的二进制文件即可,或者按照对应到操作系统去安装也可以。没有其他依赖。
使用
https://caddyserver.com/docs/getting-started
一个命令就可以启动,caddy,默认会去当前目录下寻找 Caddyfile
配置文件,也可以通过 –config 去指定文件位置
caddy start
caddy stop
caddy reload
反向代理
https://caddyserver.com/docs/caddyfile/directives/reverse_proxy
代码语言:javascript复制https://www.xxxx.com {
reverse_proxy /api/user* {
to 192.168.1.101:9000
}
}
静态文件
代码语言:javascript复制https://www.xxxx.com {
root * /home/linkinstar/www
file_server
}
外网服务使用 https
https://caddyserver.com/docs/quick-starts/https
https://caddyserver.com/docs/automatic-https
caddy 最让我惊讶的是自动的 https 功能,只要你有一个可以正常访问的域名,将域名指向你外网服务器对应的 ip,然后向上面一样配置好 Caddyfile,只要域名一致,https 就完成了,不需要你额外申请证书,不需要做其他任何的操作,真的很棒