Caddy 是一款开源、现代化的 Web 服务器,因其简单易用和自动化功能而受到广泛欢迎。它支持 HTTP/2、HTTP/3 和自动 HTTPS 配置,能够为网站提供高性能、安全可靠的访问服务。Caddy 的配置文件简洁直观,使用者可以通过少量配置快速搭建网站、反向代理或负载均衡环境。
特点:
- 自动 HTTPS:内置 Let’s Encrypt,自动申请与更新证书,无需手动操作。
- 易于配置:配置文件简单,可快速实现反向代理、路由、重定向等功能。
- 跨平台支持:可运行于 Linux、Windows、macOS 和容器环境。
- 现代协议支持:支持 HTTP/2、HTTP/3 及 WebSocket,提升访问性能。
- 可扩展性强:拥有丰富插件生态,可满足缓存、压缩、访问控制等多种需求。
安装 sudo
# 更新软件源 apt update # 安装 sudo apt install -y sudo
使用官方安装脚本
# 下载并安装 Caddy curl -fsSL https://getcaddy.com | bash # 检查 Caddy 版本 caddy version
或者实用官方二进制包手动安装
# 下载最新 Caddy Linux 64 位二进制 wget https://github.com/caddyserver/caddy/releases/latest/download/caddy_$(uname -s)_amd64.tar.gz # 解压并移动到可执行路径 tar -xzf caddy_$(uname -s)_amd64.tar.gz sudo mv caddy /usr/local/bin/ # 添加执行权限 sudo chmod +x /usr/local/bin/caddy # 检查版本 caddy version
启动与管理 Caddy 服务
# 启动 Caddy sudo systemctl start caddy # 开机自启 sudo systemctl enable caddy # 查看状态 sudo systemctl status caddy # 重启服务 sudo systemctl restart caddy
添加代理编辑或手动编辑/etc/caddy/Caddyfile
sudo nano /etc/caddy/Caddyfile
如果添加网站例如www.123.com
代理本地端口例如3280
配置为代码为
www.123.com {
reverse_proxy 127.0.0.1:3280 {
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
}
}
添加完配置必须重启caddy
# 重启服务 sudo systemctl restart caddy
如果你希望根域名也转到www或其他子域名
可以这样配置123.com替换你自己的域名
http://123.com {
redir https://www.123.com{uri} permanent
}
123.com {
tls [email protected]
redir https://www.123.com{uri} permanent
reverse_proxy 127.0.0.1:3280 {
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
}
}
http://www.123.com {
redir https://{host}{uri} permanent
}
www.123.com {
tls [email protected]
reverse_proxy 127.0.0.1:3280 {
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
}
}
caddy证书位置
/var/lib/caddy/.local/share/caddy/certificates/