Caddy 是一个用 Go 写的高速、可扩展、跨平台 Web 服务器,支持 HTTP/1.1、HTTP/2 和 HTTP/3,最大的招牌就是默认自动 HTTPS。它从 2014 年开始开发,是业界第一个默认就把 HTTPS 配好的 Web 服务器,如今已在生产环境处理过海量请求、管理过百万张级别的 TLS 证书。Apache-2.0 协议,完全免费开源,当前 Star 已经 76K+。

怎么用

上手只要三步,比装很多软件都省事。
第一步,装好它。 最简单的方式是去 GitHub Releases 下载对应平台的二进制文件,放进 PATH 就能用; macOS 上也可以直接

  1. brew install caddy。

第二步,一句话起个静态站点:

  1. caddy file-server --browse

这条命令会把当前目录托管成一个网站,还自带目录浏览,本地预览文档、博客、Demo 都很顺手。第三步,写一份 Caddyfile 做反向代理:

  1. example.com {
  2. reverse_proxy localhost:9000
  3. }

作用是把本地 9000 端口的服务,用 example.com 这个域名暴露出去。重点来了:你完全不用写证书相关配置,Caddy 看到真实域名,会自动完成证书的申请、部署和续期。

日常维护就两条命令:

  1. caddy run # 按当前目录的 Caddyfile 启动
  2. caddy reload # 改完配置热加载,服务不中断

https://github.com/caddyserver/caddy