系统架构

Redirect 采用 前后端分离 架构,三个服务独立容器化部署。 后端为纯 API 服务,门户端和管理后台均为 Nginx 静态资源 + API 反向代理。

整体架构

┌─────────────────────────────────────────────────┐
│                   浏览器客户端                    │
│         管理后台 (Vue 3 SPA)  /  重定向请求        │
└───────────────────┬─────────────────────────────┘
                    │ HTTP
┌───────────────────┴─────────────────────────────┐
│            Nginx 门户端容器 (:80)                   │
│  ┌─────────────────────────────────────────────┐ │
│  │  静态资源服务    │  /api/ 反向代理到后端      │ │
│  └──────────────────┬──────────────────────────┘ │
└─────────────────────┬───────────────────────────┘
                      │ HTTP (:12328)
┌─────────────────────┴───────────────────────────┐
│              Go API 服务 (:12328)                │
│  ┌─────────────────────────────────────────────┐ │
│  │              Router (Gin)                    │ │
│  │   /api/v1/* (管理API)   /:prefix/:code (重定向) │ │
│  └──────────────────┬──────────────────────────┘ │
│  ┌──────────────────┴──────────────────────────┐ │
│  │            Middleware 层                     │ │
│  │      JWT 认证  ·  CORS  ·  限流              │ │
│  └──────────────────┬──────────────────────────┘ │
│  ┌──────────────────┴──────────────────────────┐ │
│  │             Handler 层                       │ │
│  │    请求解析 · 参数校验 · 响应封装             │ │
│  └──────────────────┬──────────────────────────┘ │
│  ┌──────────────────┴──────────────────────────┐ │
│  │             Service 层                       │ │
│  │       业务逻辑 · 健康检查 · 统计计算          │ │
│  └──────────────────┬──────────────────────────┘ │
│  ┌──────────────────┴──────────────────────────┐ │
│  │            Repository 层                     │ │
│  │         数据访问 · GORM 操作                  │ │
│  └──────────────────┬──────────────────────────┘ │
│  ┌──────────────────┴──────────────────────────┐ │
│  │              Model 层                        │ │
│  │         数据结构 · 表定义                     │ │
│  └─────────────────────────────────────────────┘ │
└─────────────────────┬───────────────────────────┘
                      │
┌─────────────────────┴───────────────────────────┐
│              MySQL / MariaDB / PostgreSQL        │
└─────────────────────────────────────────────────┘

服务组成

服务镜像端口说明
后端 APIredirect-go/server12328Go 语言,Gin 框架
门户端redirect-go/portal80Vue 3 SPA,Nginx 静态资源
管理后台redirect-go/admin81Vue 3 SPA,Nginx 静态资源
数据库MySQL / MariaDB / PostgreSQL3306 / 5432用户可任选

API 路由

  • /api/v1/* — 管理 API(认证、项目、链接、统计等)
  • /api/v1/auth/login — 登录接口
  • /api/v1/auth/register — 注册接口
  • /api/v1/projects — 项目管理接口
  • /api/v1/links — 链接管理接口
  • /api/v1/stats — 统计接口
  • /health — 健康检查接口
  • /r/:prefix/:code — 文件下载重定向(公开访问)

统一响应规范

{
  "code": 200,        // 业务状态码
  "message": "success", // 提示信息
  "data": { ... }     // 数据体
}
💡
门户端和管理后台容器通过环境变量 BACKEND_HOST / BACKEND_PORT 配置后端地址,无需修改 Nginx 配置文件。
📖
了解更多部署细节,请阅读 部署总览。