使用Caddy生成自动SSL证书非常简单,Caddy内置了对Let's Encrypt的支持,并且可以自动申请、配置和更新SSL证书。以下是使用Caddy创建一个反向代理并自动获取SSL证书的基本步骤:

  1. 安装Caddy
  • 对于大多数Linux发行版,可以通过包管理器(如apt或yum)安装,或者直接从Caddy官网下载预编译好的二进制文件。
  1. 创建Caddyfile
  • 在服务器上的合适位置(例如 /etc/caddy/Caddyfile 或您选择的路径)创建或编辑配置文件 Caddyfile。以下是一个简单的示例配置:
www.example.com {
    reverse_proxy / https://www.a.com
    tls email@example.com
}

上述配置表示将所有到 www.example.com 的请求通过HTTPS反向代理到 https://www.a.com,并且会自动为 www.example.com 申请一个由Let's Encrypt签发的SSL证书,使用的邮箱地址是 email@example.com

  1. 运行Caddy
  • 使用命令行启动Caddy,让其读取配置文件并开始服务:
caddy run --config /etc/caddy/Caddyfile

如果Caddy安装时已经设置为系统服务,则可以使用相应的服务管理命令来启动和管理它。

  1. 权限与端口
  • 确保Caddy有权限访问所需的端口(默认情况下,HTTP是80端口,HTTPS是443端口),并且能够写入用于存储证书的目录。
  • 根据实际情况,你可能需要以root权限运行Caddy,或者使用setcap等工具赋予非root用户监听低特权端口的权限。
  1. 验证域名所有权
  • 第一次运行时,Caddy会自动通过HTTP-01挑战方式验证您的域名所有权,并申请SSL证书。
  1. 自动续期
  • Caddy会自动处理证书的续期工作,确保证书始终有效。

请根据实际需求调整上述配置,并参考Caddy官方文档以获得最新的指导信息。