Vercel绑定自定义域名
category
tags
type
status
slug
summary
date
Last edited time
Dec 2, 2024 04:17 AM
icon
password
状态
天气
星期
日期
为什么要绑定自定义域名?
vercel默认提供的域名 *.vercel.app 由于滥用已被大陆屏蔽(DNS污染),如果需要在国内能访问到您的站点,请绑定一个新的域名即可
准备一个域名
首先购买自己的域名,您可以选择以下渠道进行购买:
另外您还可以选择从以下平台获取到免费的域名:
- eu.org (eu.org是欧盟组织的免费域名;需要英国的用户信息才能注册;)
Freenom(目前已逐步停止域名服务)
首推Namesilo
我早先在腾讯云购买的域名,但奈何无耻的价格套路,最后选择迁入Namesilo。
套路指那些首年极其便宜,但次年续费很贵的。如 Godaddy,首年 $0.99,次年续费要 102 元人民币,而且隐私保护还需要额外再加 60 元。
NameSilo优点:
- 价格便宜稳定,无套路
Namesilo 域名本身价格就比较便宜,COM 域名 $8.99/年,除了一个一美元优惠码,基本没有其他大幅度促销活动,域名续费和首年购买价格一致。
Namesilo 价格表:Domain Pricing
填入我的优惠码 tangly1024 可以享受
1$
的 优惠。优惠码截止至2025-12-31
- 永久免费的隐私保护
Namesilo 提供永久免费的域名隐私保护,防止别人通过 WHOIS 查询获取域名所有者的个人注册信息。作为对比,Godaddy 的隐私保护是 60 元/年,Namecheap 则是免费提供第一年。
- 安全性高
支持账户登陆二次验证和 Domain Defender,保护账户和域名安全。登陆、解锁域名等,都可以设置邮件或短信提醒。
- 支付方便
支持支付宝、Paypal、信用卡等多种方式付款。
Vercel控制台添加域名
- 在Vercel控制面板中找到
Setting
→Domains
→Add
,在这里可以指定当前项目的绑定域名,一个项目可以绑定多个域名。
- 输入域名,并Add之后,如果看到下图中的提示(Invalid Configuration)👇, 说明域名已经添加,但需要根据提示添加CNAME或Nameserver的方式激活它,图中所示是要在域名后台添加一条CNAME类型的解析,参数名
hexo
,值为cname.vercel-dns.com
。
这里推荐使用CNAME绑定。请按文档后续步骤配置对应的Cname解析。
域名服务商解析CNAME
以下分多个平台举例,配置方法大同小异,只是入口不太一样,我这里主要讲CloudFlare的配置方法
其它服务商的解析CNAME方法,可以参考
腾讯云托管域名
https://console.dnspod.cn/dns/list 点击域名进行配置,添加一条CNAME 转发
阿里云托管域名
打开控制台 https://dc.console.aliyun.com/#/domain-list/all 域名列表,点击域名,并添加一条cname转发
Freenom 购买的域名
建议将域名的Nameservers 托管给 CloudFlare,然后在CloudFlare中设置
域名转CloudFlare托管
域名服务商购买的域名,默认都会提供一个解析服务,但这个服务是可选的,我们可以通过修改Nameserver的方式,交给CloudFlare或其他DNS服务商进行解析和托管。
CloudFlare具有Worker.js、全球免费CDN、SSL证书,网站DDoS防火墙等特性,我个人习惯将域名解析交给CloudFlare管理 。
- 如何将namesilo购买的域名放在CloudFlare中解析与托管?可参考《NameSilo配置Cloudflare域名解析教程》。
- 如何将阿里云购买的域名放在CloudFlare中解析与托管? 具体配置方法可以参考《阿里云域名用CloudFlare解析域名》。
- 如何将Dynadot的域名放在CloudFlare中解析与托管?可参考《Dynadot注册的域名迁移至Cloudflare》。
只要在域名服务商后台,将NameServer修改成CloudFlare为你分配的地址即可。其它域名服务商的操作基本一致不再赘述。
由于域名解析存在缓存,从不同服务商将DNS交给CloudFlare托管需要一个生效时间,也许十几分钟,也许几个小时。
在CloudFlare后台点击“立即检查名称服务器”可以查看是否生效,或者等待邮件通知。
CloudFlare 解析 CNAME
- 打开CloudFlare控制台 https://dash.cloudflare.com,并找到您的域名
- 若您的域名没有解析任何服务器(即没有添加过任何一条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://hexo.tangly1024.com )访问我们的网站了
关于根域名的配置
以上举例使用的是二级域名,如果你想像我一样使用 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 |
Vercel域名在国内被墙
vercel.app因为被大量使用,自然而然被墙掉了,不过好在 Vercel 官方提供了单独的 IP 和 CNAME 地址给大家,对于国内的用户来说,配置一下单独的解析,依然可以享受 Vercel 提供的服务。
将上述步骤中用到的 ip和 cname地址替换成以下内容即可:
A记录地址:
76.223.126.88
或 76.76.21.98
等CNAME 记录地址:
cname-china.vercel-dns.com
提升Vercel站点在国内的访问效率
我使用CloudFlare的CDN,目前没有大陆节点,因而在国内的访问其实速度一般而且不稳定(部分的地区无法访问),如果主要面向国内用户最终解决方法是将网站备案,然后购买国内服务商的CDN服务,例如腾讯云的CDN或EdgeOne。
当然,想省事还有另外的解决方案,例如国人开放的CDN项目:
对比效果
图1是加速前,图2是加速后
Prev
Vercel部署NotionNext
Next
NotionNext项目运行原理
Loading...