Vercel之前叫ZEIT,前几天@CLAM
跟我提到这个的时候我一头雾水,瞅了一眼有点眼熟还以为是类似Github Pages的静态页面托管那种……直到提到ZEIT我才想起来这不就是之前用过的那个now.sh
嘛。
以前Zeti是使用的谷歌云的边缘网络,现在是定制版的Amazon Global Accelerator,路由与官方的略有差异(毕竟自己的IP拨上去的);至于AGA的网络性能不必多言,AWS找电信买了很高级的163优化,速度不用担心。
所以,用它来加速源站在欧美的网站国内访问,比CF是好的多的,就简单写写我操作的过程吧。
题图来源微博@月圆_难得清狂,本站仅做引用,如果喜欢请务必关注画师太太啊≧ ﹏ ≦!
一、安装npm
如果是搞Node.js开发的大佬,这一步就不必多讲了,自己想怎么装就怎么装(´。_。`);如果你第一次听说这玩意或者在用宝塔,那直接在插件里装PM2管理器即可。
二、安装Vercel
首先去Vercel注册个账号,我是使用GitHub直接登陆的:
然后回到你的VPS上面,安装并登陆Vercel的Shell程序:
1 2 3 4 |
#安装Vercel-CLI npm i -g vercel #登陆账户 vercel login |
登陆账户这里会让你输入你的账户邮箱,随后会给你发送一封邮件,点击邮件中的VERIFY
或链接登陆即可:
三、新建项目
因为Vercel是一个无服务器函数的平台,因此可以像Heroku一样很简单地建立一个转发项目;整个过程参考的是当时loc里的@hoofs
大佬的帖子,在此表示感谢。
1 2 3 4 5 6 7 8 9 10 11 12 |
#新建并进入一个新文件夹 mkdir vercel && cd vercel #建立配置文件 vi vercel.json #配置文件内容 { "name": "YourProjectName", "version": 2, "routes": [ {"src": "/(.*)","dest": "https://web.sample/$1"} ] } |
配置文件的内容要修改两处,一处是YourProjectName
,自己随便拟定一个,另一处是https://web.sample
,改成你要反代的网站链接。
注意这里这个反代的链接在国外Vercel的边缘节点必须能够访问,也就是你要绑定的你自己的域名与反代的域名是要不一致的,至于其他关于WP的方案在下文绑定域名再讲。
1 2 |
#部署项目 vercel -d vercel.json --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视为异常而屏蔽。
五、结语
我部署好的一个测试网址(荒废已久凑合看吧):
很感谢Zeit这样的项目提供免费的资源供大家使用,以前Zeit的时代月流量限制是20G,现在是每月100G,足够绝大多数的网站访问需求了。
如果滥用的话也可能会因为违反Tos被封禁账户,希望大家且用且珍惜(。・ω・。)ノ♡
*转载请注明出处,建议合理使用免费资源
这个vercel的原理是路由,就是把json前面的路径指向到后面的目标!!
有免费的ssl不挺好的吗?
我vercal托管后,部分div被自动注释了,插件无法显示
你好,这样:访客ip—Vercel—cloudflare—源站
cloudflare如何获得真实ip?
有些防火墙规则是需要cloudflare获得访客真实ip的。
你好,部署已经变了。现在已经不支持单文件部署了,需要以目录部署。我想在你的文章上的基础上进行一些修改,发表在我的blog上,请同意我的请求,谢谢了!
直接就看不懂。。。。从Vercel注册个账号之后,就不知道干嘛了
貌似这篇文章被人盗了。
www.***.cn/xlbk/3877.html
那可以给他自己部署的页面加速吗?用Vercel弄了个单页面,总觉得访问不快……
有没有办法用vercel重写host,因为以上会有个问题,第一次打开是反代的,第二次打开就变成了vercel连接的域名了
Vercel其实可以缓存小于10MB的文件的 可以用Cache-Control对vercel的缓存规则修改 详细信息可以查看[Vercel Docs](https://vercel.com/docs/edge-network/caching) (逃
安装完毕后直接执行vercel login显示
[root@VM-0-13-centos ~]# vercel login
-bash: vercel: command not found
前排