跳到主要内容
产品与优惠
腾讯云国际站腾讯云 2核2G 99元/年美国家宽 VPSCodex / Claude 订阅临时邮箱 TEMPMAIL丽萨主机选购RackNerd 年付 VPS阿里云 15% 优惠Meoo 新用户5000积分阿里云 OPC 创业套餐阿里云 ECS 升级优惠Evoxt 云服务器雨云云服务器野草云套餐晚安云选购BRNCHOST VPS京东云服务器腾讯云产品与活动WorkBuddy AI 助手Bewild AI 订阅搬瓦工官网选购DMIT 官网选购Evoxt VPS 套餐雨云官网选购

部署教程

Caddy 配置域名与 HTTPS:给 Docker 应用加反向代理

发布于 更新于

在 Ubuntu 安装 Caddy,将域名指向本机应用,并检查证书申请、配置重载与 502 错误。

应用已能在本机访问,再配置域名

先确认 Docker 应用映射到本机端口,例如 127.0.0.1:3000。域名 A 记录指向 VPS;配置 AAAA 时也要确保 IPv6 可达。80、443 端口由 Caddy 监听,已有面板代理时沿用现有入口,避免端口冲突。

在 Ubuntu 添加官方软件源

bash;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

软件包会建立 Caddy 系统服务。已安装的机器跳过软件源添加,直接编辑配置。

给应用增加一个 Caddyfile 配置块

编辑 /etc/caddy/Caddyfile,把 app.example.com 与 3000 换成实际域名和端口。已有其他站点时增加配置块,不要覆盖整个文件。

caddyfile;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
app.example.com {
    reverse_proxy 127.0.0.1:3000
}
bash;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
sudo journalctl -u caddy --no-pager -n 60

确认域名访问与证书

验证成功后通过 https://app.example.com 打开应用。Caddy 会按域名配置处理自动 HTTPS,证书申请需要对应验证能够到达服务器。若申请失败,查看日志中的验证错误,并确认 DNS、端口和 CDN 代理设置。

502 时先检查应用端口

反向代理返回 502,先在 VPS 上访问上游地址。上游连接失败通常要检查容器状态、映射端口和监听地址;上游正常再检查 Caddyfile 与服务日志。

bash;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
curl -I http://127.0.0.1:3000
sudo docker compose ps

Caddy 在宿主机时,127.0.0.1 指宿主机;Caddy 在容器中时,它指 Caddy 容器自身,不能照搬本篇的上游地址。

接下来可以看