一直以来都习惯用Vercel来托管自己的项目,但因为GFW的原因,vercel.app
域名已经很久不能直接在大陆地区直连了。一个代替方案是用Netlify, 至少目前netlify.app
还是国内可访问的。
还有一种方案就是使用Cloudflare代理。虽然速度不够理想,远不如部署到境内服务器上,但至少是可以访问了。下面记录下大概的操作过程。
准备
- 在Vercel上部署好的项目
- Cloudflare上注册或转移过的域名
Cloudflare 域名和DNS设置
给项目准备一个二级域名。
在Cloudflare主页点击要操作的域名, 进入DNS Records设置中,点击 Add Record
。这里添加一个二级域名记录。
-
记录Type为
CNAME
,Name为自己的二级域名名称,Target为cname.vercel-dns.com
。 -
然后Proxy Status设置为允许代理,即后面的图标变成橙色,状态变为
Proxied
。
- 最后进入SSL/TLS设置页,配置加密模式(Configure encryption mode)页面,选择
Full
模式。
Vercel设置
回到Vercel项目中,在Settings -> Domains 设置页,将刚才的二级域名填入项目的输入框,并点击添加。
等待一会儿,Vercel会自动校验并设置DNS。
最后验证一下,将上图中的两个链接分别打开测试下。在未开科学上网的情况下,vercel域名几乎无法打开,自己的域名可以打开(虽然有些慢...)
总结
通过上面的操作不仅解决了Vercel项目大陆境内无法的问题,而且还为项目设置了自己的域名。
这种方式也适用于阿里云等国内的域名服务供应商,基本上是类似的操作,就能添加一个自定义域名,当然不考虑备案的麻烦的话,访问速度会提升不少。
参考:
https://vercel.com/docs/integrations/external-platforms/cloudflare https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/full/