Vercel之前叫Zeit,前几天@CLAM
跟我提到这个的时候我一头雾水,瞅了一眼有点眼熟还以为是类似Github Pages的静态页面托管那种……直到提到Zeit我才想起来这不就是之前用过的那个now.sh
嘛。
以前Zeti是使用的谷歌云的边缘网络,现在是定制版的Amazon Global Accelerator,路由与官方的略有差异(毕竟自己的IP拨上去的);至于AGA的网络性能不必多言,AWS找电信买了很高级的163优化,速度不用担心。
所以,用它来加速源站在欧美的网站国内访问,比CF是好的多的,就简单写写我操作的过程吧。
一、安装npm
如果是搞Node.js开发的大佬,这一步就不必多讲了,自己想怎么装就怎么装(´。_。`);如果你第一次听说这玩意或者在用宝塔,那直接在插件里装PM2管理器即可。
二、安装Vercel
首先去Vercel注册个账号,我是使用GitHub直接登陆的:
网站链接:https://vercel.com/login
然后回到你的VPS上面,安装并登陆Vercel的Shell程序:
Shell
1234 | #安装Vercel-CLInpm i -g vercel#登陆账户vercel login |
登陆账户这里会让你输入你的账户邮箱,随后会给你发送一封邮件,点击邮件中的VERIFY
或链接登陆即可:
三、新建项目
因为Vercel是一个无服务器函数的平台,因此可以像Heroku一样很简单地建立一个转发项目;整个过程参考的是当时loc里的@hoofs
大佬的帖子,在此表示感谢。
Vercel
Shell
123456789101112 | #新建并进入一个新文件夹mkdir vercel && cd vercel#建立配置文件vi vercel.json#配置文件内容{ "name": "YourProjectName", "version": 2, "routes": [ { "src": "/(.*)","dest": "https://web.sample/$1"} ]} |
配置文件的内容要修改两处,一处是YourProjectName
,自己随便拟定一个,另一处是https://web.sample
,改成你要反代的网站链接。
注意这里这个反代的链接在国外Vercel的边缘节点必须能够访问,也就是你要绑定的你自己的域名与反代的域名是要不一致的,至于其他关于WP的方案在下文绑定域名再讲。
Vercel
Shell
12 | #部署项目vercel --prod |
配置好之后就可以执行上面的指令把配置文件推送到项目了,所有的选项保持默认即可。最后会给你一个平台的测试域名,你可以通过这个域名测试你的反代是否成功。
四、绑定域名
去Vercel官网,依次进入刚设置的项目,依次选择Settings
和Domains
,在框里填入你自己的域名然后点击Add
添加。当DNS解析记录不正确的时候他会提示你将你的域名CNAME到cname.vercel-dns.com
,解析过去即可。
自己绑定域名有一个致命的缺点,免费版的服务不支持自行上传SSL证书,它是解析后通过acme路径验证自动颁发Let's Encrypt
证书,所以你绑定在Vercel上的域名必须在访问路径中经过他,简单理解就是你海外也要解析到他的CNAME或以其作为源站。
此外就是它作为一个基于无服务器函数的中间层的反代,没有任何CDN的缓存特性,所以你也可以在Vercel后面套上一层CDN用于减轻源站分发压力。
我这里建议是准备一个二级域名,比如我反代的就是now.moelty.cn
,在源站的hostname
上绑定上这个域名,这样就可以通过中间层的转发间接以主域名访问,并且不会影响到WP页面中的链接设置,这个方案使用动静分离CDN的站长应该很熟悉。
这个中间域名你就可以自由选择CDN,但是建议通过Page Rules
或其安全设置把安全级别设置为“本质上为关”,以免Vercel用于访问源站的IP被CDN视为异常而屏蔽。
五、结语
我部署好的一个测试网址(荒废已久凑合看吧):
https://www.pzo.cc
很感谢Zeit这样的项目提供免费的资源供大家使用,以前Zeit的时代月流量限制是20G,现在是每月100G,足够绝大多数的网站访问需求了。
如果滥用的话也可能会因为违反Tos被封禁账户,希望大家且用且珍惜.