Caddy 2 是一个强大的、企业级的、开源的 Web 服务器,带有用 Go 编写的 自动 HTTPS
Caddy服务器是一个开源的,使用 Golang 编写,支持 HTTP/2 的 Web 服务端。它使用Golang 标准库提供HTTP 功能。Caddy 一个显著的特性是默认启用HTTPS。它是第一个无需额外配置即可提供HTTPS 特性的Web 服务器。
为什么选用Caddy,因为他简单,可以自动申请SSL证书。
特点
-
全自动支持HTTP/2协议,无需任何配置。 -
Caddy 使用 Let’s Encrypt 让你的站点全自动变成HTTPS,无需任何配置。 -
合理使用多核,得益于go的特性 -
完全支持IPv6环境 -
Caddy 对WebSockets有很好的支持 -
自动把Markdown转成 HTML -
Caddy 对log格式的定义很容易 -
易于部署 ,没有依赖 -
作为反向代理支持主动和被动健康检查、负载均衡、断路、缓存等功能。 -
支持三大主流系统:Windows、 Linux、Mac
GitHub数据
-
43k stars -
793 watching -
3.4k forks
开源地址:https://github.com/caddyserver/caddy
caddy v2和nginx的性能对比图
貌似性能还是很强悍的。
安装
Fedora or RHEL/CentOS 8:
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy
RHEL/CentOS 7:
yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy
Debian, Ubuntu, Raspbian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Docker
docker pull caddy
MacOS
brew install caddy
Windows
curl.exe https://webi.ms/caddy | powershell
配置一个网站
快速搭建一个网站
caddy file-server --root ./rumenz --listen :2022 --domain www.rumenz.com
-
file-server
表示这是一个文件服务器 -
--root
表示要以哪个文件目录作为文件服务的根目录 -
./rumenz
是网站的根目录有一个index.html
文件 -
--listen :2022
定义监听的端口 -
--domain www.rumenz.com
绑定一个域名
> curl http://127.0.0.1:2022
<h1>开源日记</h1>
高级配置
Caddy 可以使用RESTful JSON API 进行动态配置。配置更新很方便
设置新配置
POST /config/
{
"apps": {
"http": {
"servers": {
"example": {
"listen": ["127.0.0.1:2080"],
"routes": [{
"@id": "demo",
"handle": [{
"handler": "file_server",
"browse": {}
}]
}]
}
}
}
}
}
更多功能广大网友可以继续挖掘。
微信公众号:[开源日记],分享10k+Start的优质开源项目。
文章评论