Nginx Proxy Manager 迁移到 Caddy 指南¶
📋 概述¶
本次迁移将 5 个域名的反向代理从 NPM 切换到 Caddy:
| 域名 | 后端服务 |
|---|---|
| npm.ccchao.top | 172.93.221.71:81 (NPM 管理界面) |
| openclaw.ccchao.top | 172.93.221.71:18789 (OpenClaw) |
| bookstack.ccchao.top | 172.93.221.71:8888 (BookStack) |
| drive.ccchao.top | 172.93.221.71:47179 (Drive) |
| note.ccchao.top | 127.0.0.1:3000 (HedgeDoc) |
🚀 迁移步骤¶
步骤 1:确认配置文件已就绪¶
配置文件已生成在工作空间:
- Caddyfile - Caddy 配置文件
- docker-compose.caddy.yml - Docker Compose 配置
步骤 2:启动 Caddy¶
步骤 3:验证 Caddy 运行状态¶
# 查看容器状态
docker ps | grep caddy
# 查看 Caddy 日志(确认 SSL 证书申请情况)
docker logs caddy
# 测试域名解析(任选一个)
curl -I https://openclaw.ccchao.top
步骤 4:停止 NPM 容器¶
步骤 5:验证所有域名¶
逐一访问以下域名,确认服务正常: - https://npm.ccchao.top - https://openclaw.ccchao.top - https://bookstack.ccchao.top - https://drive.ccchao.top - https://note.ccchao.top
步骤 6:(可选)删除 NPM 容器¶
确认一切正常后,可以删除 NPM 容器:
📝 配置说明¶
Caddyfile 特点¶
- 自动 HTTPS - Caddy 会自动申请和管理 SSL 证书
- 邮箱配置 - 使用
admin@ccchao.top注册证书 - Host 网络模式 - 直接访问本地服务,无需端口映射
优势对比¶
| 特性 | NPM | Caddy |
|---|---|---|
| 配置复杂度 | GUI + 手动 | 纯文本配置 |
| SSL 证书 | 需手动配置 | 自动申请 + 续期 |
| 资源占用 | 较高 | 较低 |
| 配置管理 | 数据库存储 | 文件版本控制 |
🔧 常用命令¶
# 查看 Caddy 日志
docker logs -f caddy
# 重启 Caddy
docker restart caddy
# 停止 Caddy
docker compose -f docker-compose.caddy.yml stop
# 重新加载配置(修改 Caddyfile 后)
docker exec caddy caddy reload --config /etc/caddy/Caddyfile
⚠️ 注意事项¶
- 确保 80/443 端口空闲 - 停止 NPM 后再启动 Caddy,避免端口冲突
- DNS 解析正确 - 所有域名需正确指向服务器 IP (172.93.221.71)
- 防火墙规则 - 确保 80 和 443 端口开放
- 首次启动 - Caddy 需要访问 80 端口进行 HTTP 挑战申请证书