×

使用Vercel部署反代VPS的ip+端口

ldpc520 ldpc520 发表于2025-12-11 07:11:46 浏览10 评论0

抢沙发发表评论

如果你手里有一台 VPS,上面跑了各种服务(比如 Portainer、Alist、Halo 博客等),通常我们只能通过 http://1.2.3.4:8080 这种“裸奔”的方式访问。这不仅难记,而且没有 HTTPS,非常不安全,甚至会被部分浏览器标记为不安全站点。通常我们会想到用 Nginx 做反代,但配置 SSL 证书、续签、配置 nginx.conf 对很多非运维人员来说还是挺繁琐的。
今天介绍一种零成本、无需维护服务器、且最稳健的方案:利用 Vercel 进行代理访问。
本身 Vercel 也支持node项目部署,这里只用 Vercel 进行代理访问应用最大的优点就是:1. 不用翻墙访问 2. 速度快

步骤一:环境准备

在开始之前,我们需要在本地安装 Vercel 的部署工具。

  1. 安装 Node.js如果你的电脑还没有 Node.js,请先去 官网下载 并安装(LTS 版本即可)
  2. 安装 Vercel CLI打开终端(CMD 或 Terminal),运行以下命令全局安装 Vercel 命令行工具:
npm install -g vercel

安装完成后,验证版本:

vercel --version

看到版本号说明安装成功。

步骤二:项目结构规划

假设我们需要代理两个服务:

  1. 网盘服务 (Alist) :http://123.123.123.123:5244
  2. Docker面板 (Portainer) :http://123.123.123.123:9000
    为了方便管理,建议在本地创建一个总文件夹,然后为每个服务创建独立的子文件夹:
My-Vercel-Proxies/          # 总目录
├── alist-proxy/           # 项目 A
│   └── vercel.json
└── portainer-proxy/       # 项目 B
    └── vercel.json

步骤三:编写配置文件

这个方案最爽的地方在于:不需要写一行代码,只需要复制粘贴 JSON 配置。1. 配置项目 A (Alist)
进入 alist-proxy 文件夹,新建 vercel.json 文件,填入:

{
  "version": 2,
  "routes": [
    {
      "src": "/(.*)",
      "dest": "http://116.205.228.147:15244/$1"
    }
  ]
}
  1. 配置项目 B (Portainer)
    进入 portainer-proxy 文件夹,新建 vercel.json 文件,填入:
{
  "version": 2,
  "routes": [
    {
      "src": "/(.*)",
      "dest": "http://116.205.228.147:9000/$1"
    }
  ]
}

⚠️ 注意: • 将 IP 和端口替换为你自己的真实地址。

步骤四:部署上线

现在我们将这两个项目分别推送到 Vercel
先使用 vercel login 进行登录

vercel login

会弹出登陆页面

  1. 部署项目 A
    在终端进入 alist-proxy 目录,执行:
vercel -A vercel.json --prod 

首次部署会有交互式问答,一路回车即可:
Set up and deploy? 
-> Y
Which scope? 
-> 回车 (选你的账号)
Link to existing project? 
-> N
Project name? 
-> 回车 (默认叫 alist-proxy)
In which directory? 
-> 回车
Want to modify settings? 
-> N
等待十几秒,看到 Production: https://alist-proxy-xxxxxxxxxx.vercel.app 即部署成功。
2. 部署项目 B
同理,进入 portainer-proxy 目录,再次执行 vercel 命令。这次 Vercel 会将其识别为一个新的独立项目。部署完成后,你将获得第二个域名,例如 https://portainer-proxy-xxxxxxx.vercel.app。

步骤五:绑定自定义域名(可选)

如果你不想用 Vercel 提供的 .vercel.app 域名,可以绑定自己的域名。
1.登录 Vercel 网页控制台。
2.点击对应的项目(如 alist-proxy)。
3.进入 Settings -> Domains。
4.输入你的子域名(如 pan.yourdomain.com)。
5.去你的域名服务商(阿里云/腾讯云/Cloudflare)添加一条 CNAME 记录指向提供的CNAME即可。

总结

Vercel 毕竟是 Serverless 平台,不适合 需要长连接(WebSocket)的项目,并且免费版对于流量以及请求次数都有最大限制,只适用于个人项目