使用 Cloudflare DNS API,让 Caddy 通过 DNS-01 验证自动申请/续期 HTTPS 证书,不依赖 80/443 端口。
适合你的场景
子域名多、自动化证书
被封 80、443
走 Cloudflare CDN(橙云)
内网服务 / Docker / 反代
不想暴露真实 IP
安装依赖在 Debian/Ubuntu 系统上:
sudo apt update sudo apt install -y curl git wget build-essential
官方预编译版本下载
wget https://github.com/caddyserver/xcaddy/releases/download/v0.4.5/xcaddy_0.4.5_linux_amd64.tar.gz
解压并安装:
tar -xzvf xcaddy_0.4.5_linux_amd64.tar.gz sudo mv xcaddy /usr/local/bin/ sudo chmod +x /usr/local/bin/xcaddy
Go 安装方式:
需要先装 Go(官方要求 Go 1.20+)
sudo apt update sudo apt install -y golang-go git
执行
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
移动命令
sudo mv ~/go/bin/xcaddy /usr/local/bin/
安装好 xcaddy 以后:执行
xcaddy build \ --with github.com/caddy-dns/cloudflare
编译完成后会生成 caddy 可执行文件。移动到系统路径:
sudo mv caddy /usr/local/bin/ sudo chmod +x /usr/local/bin/caddy
查看已编译的 DNS 插件Caddy 支持的 DNS 插件列表可以直接用命令查看:
caddy list-modules | grep dns
查看是否安装成功
安装完成后可直接执行写入api
export CF_API_TOKEN="你的Cloudflare_API_Token"
编辑 Caddy 配置文件或者手动修改/etc/caddy目录
sudo nano /etc/caddy/Caddyfile
修改自己的域名与反代端口
www.123.com:2053 {
tls {
dns cloudflare {env.CF_API_TOKEN}
}
reverse_proxy 127.0.0.1:5212 {
header_up X-Real-IP {http.request.header.CF-Connecting-IP}
header_up X-Forwarded-For {http.request.header.CF-Connecting-IP}
}
}
手动创建 caddy.service(官方推荐版本)
创建服务文件自启动
nano /etc/systemd/system/caddy.service
内容为需要自己更改api
[Service] ExecStart=/usr/local/bin/caddy run --environ --config /etc/caddy/Caddyfile Environment=CF_API_TOKEN=api
重载 systemd 并启动:
systemctl daemon-reload systemctl restart caddy systemctl status caddy
systemd命令
启动服务
systemctl start caddy
查看状态:
systemctl status caddy
停止服务
systemctl stop caddy
重启服务
停止后立即启动用于修改配置或 systemd 服务文件后生效
systemctl restart caddy
查看状态:
systemctl status caddy
设置开机自动启动
systemctl enable caddy
禁止开机启动
systemctl disable caddy
打包文件
mkdir -p ~/caddy_backup cp /usr/local/bin/caddy ~/caddy_backup/ cp -r /etc/caddy ~/caddy_backup/etc_caddy cp /etc/systemd/system/caddy.service ~/caddy_backup/ # 如果用 systemd # 如果有自定义证书目录,也复制 # cp -r /var/lib/caddy ~/caddy_backup/var_lib_caddy cd ~/caddy_backup tar -czvf caddy_backup.tar.gz *
上传到root目录
解压并恢复
# 解压到 /usr/local/bin tar -xzvf caddy_backup.tar.gz -C /usr/local/bin # 设置可执行权限 chmod +x /usr/local/bin/caddy # 检查 Caddy 版本 /usr/local/bin/caddy version
解压
cd /root tar -xzvf caddy_backup.tar.gz -C / # 设置权限 chmod +x /usr/local/bin/caddy # 如果用 systemd systemctl daemon-reload systemctl enable caddy systemctl start caddy systemctl status caddy
caddy配置
这样就安装完成了官方地址