简介
Caddy 是一款简单易用的 HTTP/2 反向代理和 web 服务器,它具有自动 SSL、HTTP/2、HTTP/3 和 ACME 自动续期等功能。本文将指导您在 CentOS 服务器上部署 Caddy,并配置自定义域名。
环境准备
- 一台运行 CentOS 的服务器。
- 服务器上已安装 Docker。
安装 Caddy
由于 Caddy 基于 Docker,我们可以通过 Docker Hub 安装 Caddy。
sudo docker run --name caddy -p 80:80 -p 443:443 caddy
此命令将 Caddy 容器运行在后台,并映射了 80 和 443 端口,使 Caddy 可以接受 HTTP 和 HTTPS 请求。
配置自定义域名
- 在您的域名提供商处创建一个指向服务器的 CNAME 记录,例如:
example.com
指向caddy.example.com
。 - 修改 Caddy 的配置文件
/etc/caddy/Caddyfile
。
example.com {
root * /path/to/your/webapp
file_server
}
在上面的配置中,将 example.com
替换为您的域名,并将 /path/to/your/webapp
替换为您的网站根目录。
启用 ACME 自动续期
Caddy 使用 ACME 协议自动获取和续期 SSL 证书。以下步骤启用 ACME 自动续期:
- 生成密钥对:
openssl genrsa -out /etc/caddy/caddy.key 4096
openssl req -new -x509 -nodes -days 365 -key /etc/caddy/caddy.key -out /etc/caddy/caddy.crt
- 修改 Caddy 配置文件,添加密钥和证书:
example.com {
root * /path/to/your/webapp
file_server
certbot {
email your-email@example.com
agree_tos true
auto_renew true
}
}
在上面的配置中,将 your-email@example.com
替换为您在 ACME 服务器上的邮箱地址。
重启 Caddy
重新启动 Caddy 容器以应用新配置:
sudo docker restart caddy
验证配置
- 打开浏览器,访问您的自定义域名,例如
http://example.com
。 - 如果一切配置正确,您应该能看到您的网站内容。
总结
通过以上步骤,您已在 CentOS 服务器上成功部署了 Caddy 反向代理,并启用了自定义域名。Caddy 的自动 SSL 和 HTTP/2 支持将简化您的 web 服务器配置工作。