Vercel 借助cloudFlare可以快速绑定解析自己的域名
❓
为什么要绑定自定义域名?
vercel默认提供的域名 *.vercel.app 由于滥用已被大陆屏蔽(DNS污染),如果需要在国内能访问到您的站点,请绑定一个新的域名即可
准备一个域名
首先购买自己的域名,您可以选择以下渠道进行购买:
另外您还可以选择从以下平台获取到免费的域名:
- eu.org (eu.org是欧盟组织的免费域名;需要英国的用户信息才能注册;)
首推Namesilo
我早先在腾讯云购买的域名,但奈何无耻的价格套路,最后选择迁入
Namesilo。
💡
套路指那些首年极其便宜,但次年续费很贵的。如 Godaddy,首年 $0.99,次年续费要 102 元人民币,而且隐私保护还需要额外再加 60 元。
NameSilo优点:
Vercel控制台添加域名
- 在Vercel控制面板中找到
Setting→Domains→Add,在这里可以指定当前项目的绑定域名,一个项目可以绑定多个域名。
- 输入域名,并Add之后,如果看到下图中的提示(Invalid Configuration)👇, 说明域名已经添加,但需要根据提示添加CNAME或Nameserver的方式激活它,图中所示是要在域名后台添加一条CNAME类型的解析,参数名
hexo,值为cname.vercel-dns.com。
这里推荐使用CNAME绑定。请按文档后续步骤配置对应的Cname解析。
域名服务商解析CNAME
以下分多个平台举例,配置方法大同小异,只是入口不太一样,我这里主要讲CloudFlare的配置方法
💡
其它服务商的解析CNAME方法,可以参考
腾讯云托管域名
阿里云托管域名
Freenom 购买的域名
建议将域名的Nameservers 托管给 CloudFlare,然后在CloudFlare中设置
域名转CloudFlare托管
域名服务商购买的域名,默认都会提供一个解析服务,但这个服务是可选的,我们可以通过修改Nameserver的方式,交给CloudFlare或其他DNS服务商进行解析和托管。
CloudFlare具有Worker.js、全球免费CDN、SSL证书,网站DDoS防火墙等特性,我个人习惯将域名解析交给CloudFlare管理 。
只要在域名服务商后台,将NameServer修改成CloudFlare为你分配的地址即可。其它域名服务商的操作基本一致不再赘述。
💡
由于域名解析存在缓存,从不同服务商将DNS交给CloudFlare托管需要一个生效时间,也许十几分钟,也许几个小时。
在CloudFlare后台点击“立即检查名称服务器”可以查看是否生效,或者等待邮件通知。
CloudFlare 解析 CNAME
- 若您的域名没有解析任何服务器(即没有添加过任何一条A记录),需要添加一条域名A记录指向Vercel服务器地址
76.76.21.21
- 按Vercel提示,添加一条CNAME记录值为Vercel的CNAME服务器:
cname-china.vercel-dns.com ;(vercel默认推荐cname.vercel-dns.com ,但这个cname在大陆访问比较慢) 下图是我的配置,这里举例使用的是二级域名
hexo.tangly1024.com 💡
如果添加后出现“没有证书覆盖此主机名。”的错误,先关闭CDN代理
1.右边点编辑
2.点击修改代理状态(变成灰色仅DNS)
3. 然后保存
- 添加成功后,还需要在ssl/tls配配置开启https完全加密 , 否则会因为证书不匹配导致反复重定向而打不开网页。
如果没有开启SSL完全加密,网站会打开失败
反复重定向,无法打开页面
如果域名服务配置正常,Vercel的卡片会变成如图的样子:
关于根域名的配置
以上举例使用的是二级域名,如果你想像我一样使用
https://tangly1024.com 这样的根域名,配置参考如下:
Vercel后台
直接添加根域名后,vercel会提示需要添加一条@记录指向vercel的服务器 76.76.21.21
域名管理后台
直接将根域名 解析到 vercel的服务器地址即可 : 76.76.21.21
添加根域名的时候,vercel会提示选择以下三种方案,针对个人博客而言,为了让域名简洁,我推荐选择第一种方案, 将www开头的二级域名也重定向到根域名tangly1024.com。
完成效果
域名与NotionNext配置
您的新域名绑定后,请配置到NotionNext项目中,配置方法推荐用环境变量:
在Vercel后台添加如下变量:
变量名 | 变量值 |
NEXT_PUBLIC_LINK | http://xx.com |