概述
Caddy 反向代理(57条消息)用于在 tiger-host 服务器上提供 HTTPS 终结和流量转发。主要服务 Supabase、Mattermost 等应用的反向代理和 SSL 证书自动管理。同时也是 Nexora Platform (claw-bot) 的核心入口层,负责所有 Docker 服务的 TLS 终结和路由分发。
关键事件
- 2026-03-07: 通过 DNS 前缀查出域名,配置域名连接
- 2026-03-07: 配置 SSL 证书,使用 Caddy 中转 externalacr.azurecr.io
- 2026-03-07: 推送 caddy:2-alpine 镜像到 ACR
- 2026-03-10: 配置 Supabase 反向代理,将
/pg路径流量切到 Kong 网关(Port 8000) - 2026-03-15: 排查连接被拒绝问题,检查 Caddyfile 配置
- 2026-04-02: 总结 Supabase 完整信息(包含 key 等),输出为 Markdown
技术要点
- 域名: tiger-host.chinanorth3.cloudapp.chinacloudapi.cn
- 容器镜像: externalacr.azurecr.io/caddy:2-alpine
- 路由规则:
/pg*→ Supabase Kong (Port 8000) - SSL: Caddy 自动管理 Let’s Encrypt 证书
经验教训
- Caddy 自动 HTTPS 功能极大简化了证书管理
- 反向代理路径匹配需注意通配符和优先级
- 容器化部署的 Caddy 需要正确挂载 Caddyfile 和数据目录
- 修改 Caddyfile 后需要
caddy reload生效 - Docker 网络隔离:Caddy 容器(
mattermost-caddy在web-net)与 Supabase Kong(在supabase_default)不在同一 Docker 网络时导致 502。修复:docker network connect supabase_default mattermost-caddy+ 在 docker-compose.yml 永久添加supabase_default网络 - HTML 缓存控制:Caddy 默认不设 Cache-Control header,对 PWA 的 index.html 需显式设置
no-cache(参见 pwa-ios-deployment)
ClawCraft 反向代理配置
CraftBot 在部署 clawcraft 时大量使用 Caddy 反向代理:
生产环境 (craft.clawlines.net on owl)
- 静态文件 + SPA fallback + API 反代 + gzip
/clawcraft/*→ owl Gateway :18789- SSL 证书 Let’s Encrypt 自动获取
- SSE 关键配置:
flush_interval -1防止流式响应被缓冲
开发环境 (craft.dev.dora.restry.cn)
- clawedbot Caddy 做全量反代 → owl:18852
- owl Caddy 处理静态文件和 API 路由
- 踩坑:两层 Caddy 都需要
flush_interval -1,否则 SSE 被缓冲导致 EventSource 无限重连
域名变更
clawcraft.octopus-ops.net— 已停用(2026-03-18)- 统一使用
craft.clawlines.net
相关主题
BiBot / Nexora 相关配置
以下信息来源于 bibot 和 nexora 的 Mattermost DM 聊天记录。
Agentic BI 开发环境 (bi.dev.dora.restry.cn)
BiBot 诊断并修复了 Caddy 路由问题:
- 原始问题:Caddy 把所有流量代理到 port 3016(pm2 静态文件服务),
/api/*无法到达后端 - 修复配置:添加路由规则
/api/*→ 后端 8899,其他 → 前端 3016 - 端口错误:曾配置指向 port 5173(无服务),实际前端在 3016、后端在 3017
Nexora Platform (claw-bot)
Nexora 在 claw-bot 服务器管理 Caddy 容器化部署(端口 80, 443, 8888),通过 FRP 内网穿透出公网:
| 域名 | 目标 |
|---|---|
| gitea.nexora.restry.cn | GitLab CE (3000) |
| outline.nexora.restry.cn | Outline (3000 内部) |
| portainer.nexora.restry.cn | Portainer (9000) |
| uptime.nexora.restry.cn | Uptime Kuma (3001) |
| www.nexora.restry.cn | 静态门户站 |
TLS 证书签发注意事项:
- ACME HTTP-01 挑战时需确保 Caddy 在 80 端口也处理
www域名请求 - 原
:80块只有respond "Lobster Platform OK",不处理 www 的 ACME 路径 - 修复后所有域名 TLS 自动签发正常
安全事件:Nexora 曾为解决 OpenClaw 回调问题配置 claw.nexora.restry.cn 反向代理暴露 Gateway:18789 到公网,被用户否决后立即回滚。
Agent Portal (portal.dev.dora.restry.cn)
Agent Portal 部署在 clawedbot 服务器上,Caddy 在 mattermost-caddy Docker 容器内:
- 前后端分离路由:
/api/*→172.17.0.1:3002(Express API server)/→172.17.0.1:3013(pm2 serve 静态文件)
- 踩坑经历:
- 最初 Caddyfile 缺少
/api/*分流,所有请求打到 pm2 静态服务,API 被 SPA fallback 吃掉返回 HTML - pm2 dev-portal 和 server.cjs 曾端口竞争 3013,需停掉 pm2 让 server.cjs 独占
- 修复后将 Caddy 源文件同步到
matrix/caddy/Caddyfile,容器重启不丢配置
- 最初 Caddyfile 缺少
- SSE 支持:需确保 SSE endpoint
/api/ops/stream的flush_interval -1配置