在这篇文章里,我们将从零开始,用一台 Vultr 云主机,搭建一个能托管多个网站、自动签发 HTTPS、支持多后端负载均衡、可观测与健康检查的 Caddy Gateway 系统。

你将拥有一个真正意义上的“云上 Nginx 2.0”,现代化、声明式、自动化。
🧭 一、目标与场景
假设你有以下三类服务:
| 类型 | 域名 | 服务说明 |
|---|---|---|
| 主站 | example.com |
Vue/React 静态网站 |
| API 服务 | api.example.com |
Flask 或 Node.js 服务 |
| 管理后台 | admin.example.com |
Vue + Express 组合项目 |
而你希望:
-
这三者全部使用 HTTPS;
-
通过一台网关统一反代;
-
后端容器可随时扩容;
-
有健康检查与负载均衡;
-
全部通过 Docker Compose 管理。
Caddy 就是最优解。
🏗️ 二、系统总体架构
flowchart LR
subgraph Internet
U[用户请求]
end
U -->|443/80| C[Caddy Gateway (Vultr云主机)]
C -->|/ -> 静态目录| FE[前端站点 (dist/)]
C -->|api.example.com ->| API1[App1容器]
C -->|admin.example.com ->| ADM1[Admin容器]
C -->|负载均衡| API2[App2容器]
说明:
-
所有请求先经过 Caddy;
-
按域名自动匹配;
-
静态站点由 Caddy 自行托管;
-
API 请求分发给多容器;
-
每个容器节点的健康状况自动检测。
🧱 三、环境准备
1️⃣ 创建 Vultr 实例
-
系统:Ubuntu 22.04
-
计划:1vCPU / 2GB 起步
-
网络:开启 IPv6(可选)
-
防火墙:放行 22、80、443
-
域名:提前设置好三条 A 记录
example.com → 实例IP api.example.com → 实例IP admin.example.com → 实例IP
2️⃣ 安装基础环境
登录云主机执行:
sudo apt update &&

最低0.47元/天 解锁文章
1460

被折叠的 条评论
为什么被折叠?



