使用Vercel部署你自己的加速服务

既然鸽鸽鸽了这么久,是时候找一篇文章出来水一水了。

众所周知的是Vercel可以使用反向代理这一高级功能。因此就出现了反代Github Raw,反代NPM等等一系列的神奇操作,但那种写法只能代理一个站点,这就显得很难受了。那么,有没有什么方法让其在每一个路径下分别反向代理一个网站呢?

当然有,只需要修改一部分写法即可。

首先是安装,登陆Vercel-Cli这一常规操作,下面开始。

安装Nodejs

请及时修改14.x为最新版本号。

1
2
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

验证Node,Npm,Npx版本。

1
2
3
node -v
npm -v
npx -v

如出现版本号表明安装无误。

安装Vercel Cli

请依次执行以下命令:

1
2
npm install -g vercel
vercel login

并根据提示登录Vercel账号。

创建项目

创建一个文件夹并存放Vercel配置文件。

1
2
mkdir global-cdn && cd global-cdn
vi vercel.json

接下来我将阐述一下我的配置方法,用[DOMAIN]表示域名。

在[DOMAIN]/gh/* 下代理 Github Raw,也就是”https://raw.githubusercontent.com/"下的内容。

在[DOMAIN]/npm/* 下直接代理 Unpkg,也就是”https://unpkg.com/"下的内容。

分别在[DOMAIN]/wp/theme/* 和[DOMAIN]/wp/plugin/* 下代理 Wordpress的主题和插件库,也就是”https://themes.svn.wordpress.org/"和"https://plugins.svn.wordpress.org/"下的内容。

那么,请出今天的主角vercel.json

1
2
3
4
5
6
7
8
9
10
{
"name":"GCDN",
"version":2,
"routes":[
{"src":"/gh/(.*)","dest":"https://raw.githubusercontent.com/$1"},
{"src":"/npm/(.*)","dest":"https://unpkg.com/$1"},
{"src":"/wp/theme/(.*)","dest":"https://themes.svn.wordpress.org/$1"},
{"src":"/wp/plugin/(.*)","dest":"https://plugins.svn.wordpress.org/$1"}
]
}

然后按照其他大佬写的教程,直接输入:

1
vercel -A vercel.json --prod

你会察觉现在已经无法部署单文件了,会报以下内容错误。

1
user supplied a possible target for deployment                                 Error: Support for single file deployments has been removed.

解决方法很简单,修改命令为:

1
vercel d

然后,熟悉的界面出来了,填写你的项目名称以及一些杂项即可完成部署。

当然,你需要在Vercel自定义你的域名,因为vercel.app这一域名已经在中国大陆被污染了,所以需要修改你的域名,使中国大陆用户继续使用该CDN。

你同样可以通过修改配置中路径和URL添加你自己想加速度网站,这样你就变相相当于拥有了一个速度不赖的CDN。

写在最后

Vercel为个人开发者提供了宝贵的资源,请大家千万不要滥用!


使用Vercel部署你自己的加速服务
https://blog.inkdust.top/deploy-cdn-on-vercel.html
作者
墨尘
发布于
2022年10月12日
许可协议