最近被各路大模型的 API 调用限制搞得头大,动不动就报错,体验极差。索性花了一上午时间,亲手捣鼓了一个属于自己的中转服务。整个过程从买服务器到最终能对话,算是一条龙走了一遍,踩了些坑也总结了不少经验,这就把这套“保姆级”教程分享给大家。

搭建完成的中转服务界面

搭建完成的中转服务界面

为什么需要自建中转?

市面上很多 AI 服务在国内网络环境下连接不稳定,或者 IP 容易被风控。自建中转服务相当于在 VPS 上搭了一个专属的“跳板”,不仅能通过中转隐藏真实的请求来源,还能整合多个 AI 渠道,实现负载均衡和故障转移。对于经常折腾 AI 工具的朋友来说,这基本上是刚需。

第一步:准备云服务器

首先你得有一台位于海外的 VPS,推荐选择像 DigitalOcean (DO)、Vultr 或是 AWS Lightsail 这种性价比高、按小时计费的厂商。

Docker 配置示例

Docker 配置示例

  • 配置选择:如果只是个人自用或者给几个小群友用,1核 1G 或 1核 2G 的配置绰绰有余,反正主要是跑转发脚本,不需要太强的算力。
  • 系统:强烈推荐安装 Docker 支持较好的 Linux 发行版,比如 Ubuntu 20.04 或 22.04 LTS。
  • 注意:购买时最好选带 IPv4 地址的套餐,虽然 IPv6 是趋势,但目前很多 API 服务对 IPv6 支持还不够完美。

第二步:Docker 部署 Sub2Api

这次我用的是 Sub2Api 这个项目,它开源免费,支持多渠道添加,非常适合作为中转核心。直接在服务器上 SSH 连接后,执行以下命令就能拉取镜像并启动(假设项目已开源,此处以通用 Docker 部署逻辑为例)。

  1. 安装 Docker & Docker Compose:如果系统没装,先一键安装环境。
  2. 编写配置文件:创建一个 docker-compose.yml,将 Sub2Api 的运行端口映射出来,比如 8080 端口。同时记得把环境变量(如数据库地址、密钥等)配置好。
    version: '3'
    services:
      sub2api:
        image: sub2api:latest
        ports:
          - "0.0.0.0:8080:8080"
        restart: always
    
  3. 启动服务docker-compose up -d,看到容器 Running 就算大功告成了一半。这时候通过 http://你的服务器IP:8080 理论上就能访问管理后台了。

第三步:域名解析与 Caddy 反代

直接把 IP 端口暴露在公网上既不安全也不方便访问(容易记不住),这时候就需要域名和反向代理出场了。

1. 域名解析 去 Cloudflare(CF)里买一个好记的域名,或者用你手里现成的。添加一条 A 记录,将 api.yourdomain.com 指向你刚才购买的 VPS IP 地址。

2. Caddy 自动 HTTPS 以前搞 Nginx 配置 SSL 证书很麻烦,还要去申请 Let's Encrypt。Caddy 的强大之处在于它默认开启 HTTPS,并且能自动续期,配置文件极其简单。

  • 安装 Caddy(通常一条命令搞定)。
  • 编辑 Caddyfile:
    api.yourdomain.com {
        reverse_proxy localhost:8080
    }
    
  • 重启 Caddy 服务。由于你之前已经在 Cloudflare 做了解析,Caddy 会自动向 CF 申请签发证书。几秒钟后,打开 https://api.yourdomain.com,你会发现浏览器已经锁上了安全的小绿锁。

踩坑经验与下一步计划

  • IP 被墙问题:如果发现 Docker 拉取镜像慢或者连不上,记得给服务器配置一下代理或魔改源。
  • 防火墙:确保云服务商控制台里的防火墙放行了 80 (HTTP) 和 443 (HTTPS) 端口,否则 Caddy 申请证书时会失败。

目前搭建好的环境我已经在 Codex 桌面端测试过了,正常对话丝滑流畅。现在的版本还算是个“毛坯房”,等我把更多渠道(比如 GPT、Claude)接入进去,并配置好额度监控和计费系统后,再给大家展示一下装修后的效果。

这套东西搭下来,其实最核心的难点在于 Docker 和网络配置。如果你平时也在折腾 AI 相关的工具,拥有一个专属的中转节点绝对是提升幸福感的捷径,有啥问题欢迎在评论区交流!

标签: none

评论已关闭