Caddy 是一個近几年迅速蹿红的 Web Server,主要是以 Go 語言开发,可以用于搭建服务器、反向代理等。相对于主流的 Nginx,Caddy 原生支持 HTTPS,会自己帮你去申请 Let’s Encrypt 的认证,而且配置非常简单

Caddy是一个可扩展的服务器平台,每个站点默认使用TLS。它支持HTTP/1.1,HTTP/2和HTTP/3,并具有易于配置的Caddyfile和强大的JSON配置。Caddy可以自动获取ZeroSSL和Let’s Encrypt的证书,并具有高度可扩展的模块化架构。安装Caddy可以通过下载可执行文件或从源代码构建。Caddy的文档完整且开源,可以通过社区论坛获取帮助。Caddy由Matthew Holt开发,并由ZeroSSL公司支持。

安装

Windows

window上安装有多种方式,这里选择最简单的二进制文件下载安装,其他可通过 Webabi等来安装,可查看官方安装文档:Install — Caddy Documentation

  1. 下载二进制执行文件:下载地址:Download Caddy
  2. 本地创建一个目录用来存放执行文件,例如D:\caddy\bin 目录
  3. 将下载下来的二进制文件重命名为caddy.exe,并放入第二步创建的目录中
  4. 添加环境变量image.png
  5. 安装完成,打开 powershell 执行命令 caddy。或者
# 启动 caddy
caddy start
 
# 停止 caddt
caddy stop

使用

使用 Caddyfile 配置 caddy

在安装caddy应用程序的目录下创建 config/Caddyfile文件(或者随便其他目录,并添加配置

localhost {
    respond "Hello, world!"
}

保存后执行

caddy start --config D:\caddy\cofnig\Caddyfile --watch 

--watch 表示监听配置文件,Caddyfile 发生变化时重新运行服务。
运行之后会提示注册证书服务,选择允许即可。然后访问 https://localhost,会发现已成功运行
image.png