Caddy 反向代理配置与基础使用指南
Caddy 是一个用 Go 语言编写的开源 Web 服务器,以简单易用、自动 HTTPS 和强大的插件系统著称。其配置文件 Caddyfile 简洁明了,能自动处理 HTTPS 证书的申请和续期。如果不了解反向代理是什么,可以参考这篇文章。
1. 安装 Caddy
1.1 官方安装方法
具体安装方式参考:Caddy 安装指南。
1.2 在 Linux 上安装
1 | sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https |
1.3 在 macOS 上安装
1 | brew install caddy |
1.4 在 Windows 上安装
从 Caddy 官网 下载二进制文件,解压后运行。
1.5 启动与验证
启动 Caddy 并设置开机自启:
1 | sudo systemctl start caddy |
访问 http://你的服务器IP,若看到欢迎页面,安装成功。
2. Caddy 配置文件结构
Caddy 使用 Caddyfile 作为配置文件,默认位于 /etc/caddy/Caddyfile 或项目目录中。示例:
1 | example.com { |
3. 反向代理配置示例
3.1 场景
将 example.com 的请求代理到 localhost:8080,并启用 HTTPS。
3.2 配置
1 | example.com { |
3.3 工作原理
- 自动 HTTPS:Caddy 通过 Let’s Encrypt 申请证书,默认将 HTTP 重定向到 HTTPS。
- 反向代理:请求转发到
localhost:8080。
4. 其他使用场景
4.1 静态文件服务
1 | example.com { |
root:指定文件目录。file_server:启用文件服务。
4.2 负载均衡
1 | example.com { |
/api/*:匹配路径。to:多后端负载均衡。
4.3 日志配置
1 | example.com { |
format json:日志格式现代化。
5. 测试和重载配置
验证配置:
1 | caddy validate |
重载配置:
1 | caddy reload |
6. 更多资源
- 官方文档:Caddy 官方文档
- 社区支持:Caddy 论坛