Vercel是一个站点托管平台,提供CDN加速,同类的平台有Netlify 和 Github Pages,相比之下,Vercel国内的访问速度更快.
以下是官方介绍:
Vercel is the optimal workflow for frontend teams.
All-in-one: Static and Jamstack deployment, Serverless Functions, and Global CDN.
Vercel CDN是定制版的Amazon Global Accelerator,路由与官方的略有差异;至于AGA的网络性能不必多言,AWS找电信买了很高级的163优化,速度比较快,国内访问基本分配到香港节点。所以用它来加速源站在欧美的网站国内访问,比Cloudflare免费CDN快多了。
免费用户拥有每月100G的流量,这个100G的话,虽然网页上号称无限,实际上合理使用政策里写的是100G,构建时间是100小时。
Vercel可以托管静态网站,而且它还支持路由重写功能,和Cloudflare Workers的Serverless功能相同,支持绑定域名。所以我们可以用它来实现反代,也就是类似于CDN的功能。
1.注册Vercel
https://vercel.com ,如果有Github账号,直接用其登陆即可。
2. 安装Nodejs环境
第一步,去 nodejs 官网 https://nodejs.org 看最新的版本号
也就是说此时此刻,15.6.0 是最新的版本,不过你求稳的话建议选 14.15.4 的LTS版。
第二步,添加源后安装
重点来了,nodejs 的每个大版本号都有相对应的源,比如这里的 14.x.x版本的源是https://deb.nodesource.com/setup_14.x。
所以在终端执行:curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
稍等片刻,源已经添加完毕,再执行:sudo apt-get install -y nodejs
等待安装完成:
最后验证一下,执行:nodejs -v 即可出现刚才安装的版本号 V14.15.4
3.安装Vercel
在你的VPS上面,安装并登陆Vercel的Shell程序:
#安装Vercel-CLInpm i -g vercel#登陆账户vercel login
登陆账户这里会让你输入你的账户邮箱(如果你是使用Github登录的Vercel,那就输入绑定Github的邮箱),
随后会给你发送一封邮件,点击邮件中的VERIFY或链接登陆即可:
终端中会提示登录完成。
4.新建项目
因为Vercel是一个无服务器函数的平台,因此可以像Heroku一样很简单地建立一个转发项目;整个过程如下:
首先创建反代配置文件
#新建并进入一个新文件夹,这里我演示的文件是bawodu 您可以根据您的需要命名mkdir bawodu && cd bawodu#建立配置文件,我们文件名是jiemahao.comvim bawodu.json#配置文件内容, 我是 jiemahao.com ,您改成您要反代的网站链接{"version": 2,"routes": [{"src": "/(.*)","dest": "https://jiemahao.com/$1"}]}
注意这里这个反代的链接在国外Vercel的边缘节点必须能够访问,也就是你要绑定的你自己的域名与反代的域名是要不一致的,至于其他关于WP的方案在下文绑定域名再讲。
5.部署项目
在终端执行以下代码, bawodu.json改成您的配置文件名。
vercel -A bawodu.json --prod
按照提示输入回车,如下图
默认的是像我这样 bawodu-two.vercel.app 域名,可以绑定自定义域名。
6. 绑定域名
去Vercel官网,依次进入刚设置的项目,依次选择Settings和Domains,在框里填入你自己的域名然后点击Add添加。然后你将你的域名A记录改到它提示的IP,解析过去即可。
自己绑定域名有一个致命的缺点,免费版的服务不支持自行上传SSL证书,它是解析后通过acme路径验证自动颁发Let’s Encrypt证书,所以你绑定在Vercel上的域名必须在访问路径中经过他,简单理解就是你海外也要解析到他的CNAME或以其作为源站。
此外就是它作为一个基于无服务器函数的中间层的反代,没有任何CDN的缓存特性,所以你也可以在Vercel后面套上一层CDN用于减轻源站分发压力。
我这里建议是准备一个二级域名,比如我反代的就是vercel-cdn.jiemahao.com,在源站的hostname上绑定上这个域名,这样就可以通过中间层的转发间接以主域名访问,并且不会影响到WP页面中的链接设置,这个方案使用动静分离CDN的站长应该很熟悉。
这个中间域名你就可以自由选择CDN,但是建议通过Page Rules或其安全设置把安全级别设置为“本质上为关”,以免Vercel用于访问源站的IP被CDN视为异常而屏蔽。
7.结语
根据我自己的体验Vercel CDN 给的反代地址是香港,速度不错。对于服务器在境外的网站,加速效果还是很明显的。每月免费100G流量对小网站也足够用。此外,Vercel 也可以缓存10M以内的文件,作为图床使用也不错。