📝 文章摘要
本文详细记录了使用开源项目Sub2API搭建AI API网关的完整过程。核心在于通过Docker Compose在服务器上部署,并利用宝塔配置域名反代与HTTPS。文章重点说明了后台初始化、创建分组、接入上游API Key以及开放用户注册与测试等关键步骤。Sub2API不仅实现接口转发,更整合了多账号管理、用量统计、成本计算和请求限流等功能,旨在帮助用户统一管理和分发AI上游资源。作者分享了从服务器准备到API测试的实践与踩坑经验,为自建AI中转站提供了参考。

Sub2API, AI中转站, API网关, Docker部署, 域名反代, 上游接入, 多账号管理, API Key分发, Token用量统计, 用户额度管理, 请求限流, 账号调度

AI中转站都是开源的项目,从最开始比较常见的 One APINew API,到现在越来越多人开始研究 Sub2API。 说白了,就是把不同的 AI 上游服务统一接进来,通过自己的 API Key 进行管理和调用。

这篇文章主要记录一下我的完整过程:

服务器准备 → Docker 部署 → 域名反代 → 上游接入 → API 测试。

中间踩到的问题也一起记录下来。

如果你也想自己搭一套,可以参考一下。

项目地址:

项目介绍

Sub2API 是一个 AI API 网关平台。

它不只是简单的接口转发,而是把一些中转站需要的功能整合在了一起。

主要包括:

  • 多账号管理
  • OAuth / API Key 上游接入
  • API Key 分发
  • Token 用量统计
  • 成本计算
  • 用户额度管理
  • 请求限流
  • 账号调度
  • 粘性会话
  • 管理后台
  • 支付系统

简单理解:你负责接入合法拥有的 AI 上游资源,Sub2API 负责帮你统一管理和分发。

环境部署

我的部署环境:

  • Ubuntu 服务器
  • Docker 20.10+
  • Docker Compose v2+

官方推荐 Docker Compose 部署。

包含:

  • Sub2API
  • PostgreSQL
  • Redis

创建部署目录:

PHP
mkdir -p sub2api-deploy && cd sub2api-deploy

下载部署脚本:

PHP
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash

启动:

PHP
docker compose up -d

查看日志:

PHP
docker compose logs -f sub2api

第一次启动后,日志里面会输出初始化信息。

登录后建议第一时间修改管理员密码。
8ccc7ecd63a237a3acfe6c3d610c884e.png

配置域名反代

为了方便后续 HTTPS 访问,我这里使用宝塔配置域名的反代。 添加站点后:

f8d68bb5e3c12fa7cb5a6b8862f8ee04.png

反向代理到:

PHP
http://127.0.0.1:8080

423c0d5513830ddc3beec21af762913e.png
官方推荐 Nginx 增加一些额外配置。
b27899941d5ffd175102ef48e2da5ba9.png
这里注意一下:

主要是为了保证 多账号环境下的粘性会话功能失效。
72b14a7233499e80f436f0f124904d8b.png
然后申请 SSL,开启 HTTPS。

然后在宝塔申请证书
b14e639dcdcf4c20c18f66e3190d08bb.png

登录后台初始化

第一次进入后台后,建议先做几个基础设置。

修改管理员密码

29d0c92d539e0520a57248e4ddf6dc5a.png
d67cb33f4cbf4354a14dbe475c1d2626.png

路径:

个人资料 → 修改密码

避免继续使用默认密码。

d460f692b2a24813bcac03ebc4b99489.png

创建分组

Sub2API 里面需要先创建分组。

简单理解:

分组就是后续账号和用户之间的连接关系。

例如:

创建:

PHP
GPT账号组
Claude账号组

不同上游账号可以放到不同分组。
e9d6b6bcead2e94d4fa5ac5e8cb8e2a1.png

接入上游

进入:

账号管理 → 添加账号

填写:

  • 账号名称
  • API Key
  • Base URL

前提是在别人上游创建的API Key

8bfddc9bdc51506265b5e64a3bab3fa7.png

把上游创建的API Key 放在自己的账号管理的API KEY中

33f79991dbc6b4cf3d2046cbdc3c5933.png
注意勾选下面的分组
833b207d782489749f29e7bb5a551852.png

开放注册

打开开放注册。

可以设置:

  • 注册邮箱后缀白名单
  • 注册赠送额度

创建测试账号。

登录用户后台后:创建 API Key。

2a484eedb7bdcda4f180a2b3f53df63b.pngb8a07d0d37b8ab380df02b7adee6986c.png

顺便设置一下API 端点地址,在别人注册的创建密钥时候右上角能看到这个Base URL
e896101d28fcc44bd5d1a18de5bfa57c.png

测试登录会员

测试注册会员
c65d3f881f9e5fc05a2cfa4ff7cf5a24.png3295b67162a75683d882d6173a02927e.png

创建 API Key。

然后配置客户端。这里使用 CC Switch 测试。

填入:API Base和 API Key

72bf85db8d535bcb7808ff96547cbf04.png
接着就可以测试了
84e9b8a502fe8bec6f5bac37c6c11072.pngf5154da29797e6600762254326a82214.png

如果正常返回:说明链路已经跑通。

测试几个点:

  • 普通请求
  • 流式输出
  • Token 统计
  • 额度扣除

基本就完成了。

总结

Sub2API 经过不断迭代,现在已经不只是一个简单的 API 转发项目。

它把很多原本需要自己开发的东西整合好了:

  • 用户系统
  • API 管理
  • 用量统计
  • 限流
  • 账号调度
  • 支付能力

不过我目前也只是把基础流程跑通,里面还有很多功能没有深入研究,比如:

  • 多账号策略
  • 成本优化
  • 风控限制
  • 支付接入
  • 更稳定的运营方式
本文最后更新于2026年7月6日,若涉及的内容可能已经失效,直接留言反馈补链即可,我们会处理,谢谢
声明:本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿用于任何商业目的与商业用途,如需商用请支持正版!如亲下载后改变其用途与使用方式,与本站无任何关系,本站已经进行告知义务!我们只做安全认证测试如果资源侵犯了您的版权利益,请联系站长邮箱:17606723350@163.com