无公网IP住宅机器部署AI中转完整流程

家里有一台闲置的Windows或Linux机器,想用它跑AI中转服务对外提供API,但宽带没有公网IP?
本文针对这个场景写一个零基础能照做的完整流程。

你需要准备什么

  • 一台能正常运行的住宅机器(Windows或Linux均可),建议4GB以上内存、50GB硬盘。
  • 一个域名(例如 example.com),并确认域名控制台能添加DNS解析记录。
  • 如果是用Cloudflare Tunnel:需要注册Cloudflare账号,并且域名托管在Cloudflare。
  • 如果是用frp:需要一台有公网IP的云服务器(最低配置1核2G即可),并提前安装好frps服务端。
  • Docker或Podman(可选但推荐),用于快速部署中转服务软件,例如One API或New API。

第一步:选择并配置内网穿透方案

方案A:Cloudflare Tunnel(最简单,无需服务器)

  1. 登录Cloudflare,进入域名控制面板。
  2. 左侧菜单找到 Zero TrustNetworksTunnels
  3. 点击 Create a tunnel,选择 Cloudflared,给隧道命名。
  4. 按要求安装cloudflared客户端到你的住宅机器:
  • Linux/macOS:curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o cloudflared && chmod +x cloudflared
  • Windows:下载exe后放入系统路径。
  1. 运行登录命令:cloudflared tunnel login,浏览器授权后自动创建证书。
  2. 运行 cloudflared tunnel create mytunnel,会生成一个隧道ID。
  3. 配置域名解析:cloudflared tunnel route dns mytunnel subdomain.example.com
  4. 编辑配置文件 ~/.cloudflared/config.yml(Windows在用户目录下),内容示例:
   tunnel: mytunnel
   credentials-file: /root/.cloudflared/.json
   ingress:
     - hostname: subdomain.example.com
       service: http://localhost:3000
     - service: http_status:404
  1. 启动隧道:cloudflared tunnel run mytunnel,建议使用systemd或计划任务设为开机自启。

方案B:frp(需要一台公网服务器)

  1. 在公网服务器(假设IP为1.2.3.4)上安装frps:
  • 下载frp(https://github.com/fatedier/frp/releases),解压。
  • 编辑 frps.tomlbindPort = 7000
  • 启动:./frps -c frps.toml
  1. 在住宅机器上安装frpc:
  • 编辑 frpc.toml
     serverAddr = "1.2.3.4"
     serverPort = 7000
     [[proxies]]
     name = "ai-proxy"
     type = "tcp"
     localIP = "127.0.0.1"
     localPort = 3000
     remotePort = 8080
  • 启动:./frpc -c frpc.toml
  1. 此时访问 http://1.2.3.4:8080 即可转发到住宅机器的3000端口。
  2. 建议再用Nginx反代添加域名和HTTPS。
两种方式选一种即可,Cloudflare Tunnel无需单独申请HTTPS证书且自带安全防护,推荐新手优先使用。

第二步:在住宅机器上部署AI中转服务

以One API为例(支持OpenAI兼容接口代理、负载均衡等):

  1. 安装Docker(如已安装可跳过)
  • Linux:curl -fsSL https://get.docker.com | sh
  • Windows:下载Docker Desktop并安装。
  1. 启动One API容器
   docker run -d --name one-api -p 3000:3000 \
     -e SQLITE_PATH=/data/one-api.db \
     -e SESSION_SECRET=$(openssl rand -hex 32) \
     -v one-api-data:/data \
     justsong/one-api:latest
  1. 访问 http://localhost:3000,首次进入后设置管理员账号和密码。
  2. 在后台添加渠道:例如OpenAI、Azure、Claude等,填入对应API Key和地址。
  3. 创建一个令牌(Token),后续客户端连接时使用这个令牌。

第三步:避坑指南

  • 端口冲突:如果住宅机器上已有其他服务占用3000端口,修改容器的映射端口,并在内网穿透配置中同步更改(例如 -p 3001:3000,穿透配置也改为 localhost:3001)。
  • 防火墙设置:frp模式下,需确保服务器防火墙放开7000和8080端口。Cloudflare Tunnel模式无需放行入站端口(只出站到Cloudflare)。
  • Docker容器重启:设置容器自动重启:docker update --restart unless-stopped one-api
  • 域名解析延迟:添加新DNS记录后可能需要10分钟左右生效,耐心等待。
  • Cloudflare Tunnel速度:免费版节点可能较慢,适合个人或低并发场景。

第四步:效果验证与常见问题

验证连通性

  1. 打开浏览器访问配置的域名(Cloudflare Tunnel)或服务器IP:端口(frp)。
  2. 如果看到One API的登录页面,说明内网穿透正常工作。
  3. 尝试用curl调用API:
   curl https://subdomain.example.com/v1/chat/completions \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer your-token" \
     -d '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Hello"}]}'
  1. 如果返回正常的JSON响应,说明AI中转服务可对外使用。

常见问题解答

Q:家里域名解析后无法访问,可能是什么原因?
A:先检查cloudflared隧道是否正在运行;然后检查容器是否监听正确端口;最后确认DNS记录是否已生效(可ping域名看解析到的IP)。

Q:frp模式下如何添加HTTPS?
A:在公网服务器上使用Nginx反向代理frp暴露的端口(如8080),并配置Let's Encrypt证书。Nginx配置片段:

server {
    listen 443 ssl;
    server_name your-domain.com;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
    }
}

Q:内网穿透会不会影响家里网络速度?
A:主要消耗上行带宽,如果家里上行带宽较小(如30Mbps),并发请求多时会感觉卡顿。建议控制并发数量或升级带宽。

完成以上步骤后,你就成功在无公网IP的住宅机器上部署了可对外服务的AI中转服务。
如果遇到异常,优先检查隧道日志(cloudflared tunnel run 的控制台输出)和Docker容器日志(docker logs one-api)。
按照本文完整执行一遍,再根据自己环境做微调即可。

分享到:
上一篇
AI中转站上游模型密钥泄露应急处理
下一篇
NewAPI自定义费率套餐副业变现实操:从零搭建API中转站
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意