Vercel + 阿里云域名 + Cloudflare:域名解析配置记录
最后更新时间:
最近把站点部署到 Vercel,又把在阿里云买的域名接了上去。这个过程里最容易混在一起的不是某个按钮在哪里,而是域名注册商、DNS 服务商、部署平台到底分别管什么。
我这次的场景很常见:
1 | |
最后能正常访问的状态大概是这样:

先分清三个角色
| 概念 | 负责什么 | 常见例子 |
|---|---|---|
| 域名注册商 | 购买、续费、实名、所有权管理 | 阿里云、腾讯云、Namecheap、GoDaddy |
| DNS 服务商 | 管理解析记录,把域名指到目标地址 | 阿里云 DNS、Cloudflare DNS、DNSPod |
| 部署平台 | 托管网站代码和页面内容 | Vercel、Netlify、阿里云 OSS、腾讯云 COS |
所以,域名在阿里云购买,不代表网站必须部署在阿里云。常见组合有两种:
1 | |
或者:
1 | |
两种都可以,关键是 DNS 记录要配到当前正在生效的 DNS 服务商那里。
A 记录和 CNAME 记录
Vercel 绑定自定义域名时,最常见的是两类记录。
A 记录是把域名指向一个 IP:
1 | |
在 DNS 控制台里,根域名一般用 @ 表示:
1 | |
CNAME 记录是把一个域名指向另一个域名:
1 | |
在 DNS 控制台里,www 子域名通常这样配:
1 | |
这里不要机械照抄网上某个固定值。Vercel 可能会按项目或域名给出不同的推荐记录,最终以 Project -> Settings -> Domains 里的提示为准。
@、www 和子域名
假设域名是:
1 | |
那么 DNS 控制台里的写法一般是:
| 写法 | 对应域名 |
|---|---|
@ |
example.com |
www |
www.example.com |
blog |
blog.example.com |
api |
api.example.com |
如果只配置了 www,通常只能保证 www.example.com 可访问;如果还想让 example.com 可访问,就要同时配置根域名的记录。
在 Vercel 添加域名
进入 Vercel 项目的域名设置:
1 | |
添加要绑定的域名,比如:
1 | |
Vercel 会告诉你还缺哪些 DNS 记录。等 DNS 生效后,状态会变成 Valid Configuration。我这里最后同时验证了根域名和 www:

在阿里云 DNS 里配置
如果 DNS 还放在阿里云,就进阿里云控制台的域名列表,找到对应域名,点右侧的「解析」。

然后按 Vercel 提示添加记录。常见是:
1 | |
以及:
1 | |
我的配置大概是下面这样,根域名走 A 记录,www 走 CNAME:

配置完以后不要急着刷新页面判断失败。DNS 记录需要一点传播时间,阿里云控制台、Vercel 后台、本地网络缓存看到的结果可能会有短暂差异。
如果 DNS 托管在 Cloudflare
如果已经把域名的 NS 服务器改到了 Cloudflare,那么阿里云这边主要负责域名所有权和续费,DNS 解析记录就要去 Cloudflare 配。
在 Cloudflare 里需要注意云朵状态:
- 灰色云朵:DNS only,只做 DNS 解析。
- 橙色云朵:Proxied,流量会经过 Cloudflare 代理。
排查 Vercel 域名绑定问题时,我更倾向于先用灰色云朵。等 Vercel 显示 Valid Configuration、HTTPS 也正常之后,再决定要不要打开代理。这样问题更容易定位。
国内访问还是可能不稳定
绑定自定义域名只能解决「用自己的域名访问」这件事,它不会把 Vercel 的部署节点变成国内服务器。
所以国内访问可能比直接访问 xxx.vercel.app 好一些,但不能保证稳定。如果站点主要面向国内访问,长期还是要考虑:
1 | |
这次只是先把域名入口打通。后面如果访问速度仍然不理想,再看是否需要把静态站迁到国内托管,或者把国内访问单独做一套线路。