给主域名加一个二级域名,比如 blog.example.com 或 api.example.com,是为了把博客、接口、后台这些服务分开管理,改其中一块时不容易影响到其他部分。在阿里云上做这件事,基本都在云解析 DNS 里完成。下面按操作顺序讲,并把容易卡住的地方单独拎出来。

开始之前先确认三件事
先看域名归属。如果主域名是在阿里云购买的,或者已经接入阿里云 DNS 托管,可以直接添加记录。如果域名在其他注册商那里,要先把 DNS 服务器改成阿里云提供的地址,否则在控制台里添加的记录不会生效。这一步最容易被跳过,也最容易让人误以为是解析本身出了问题。
再想清楚这个二级域名要指向哪里。是一台 ECS 的公网 IP,还是 OSS、CDN、SLB 提供的访问地址,决定了后面用 A 记录还是 CNAME 记录。另外,如果服务器位于中国大陆,并且要用域名对外提供网站服务,ICP 备案要在规划阶段就排进时间表,否则上线时会卡住。
添加解析记录的步骤
登录阿里云控制台,进入云解析 DNS,找到对应的主域名,点击“解析设置”,再点击“添加记录”。表单里有四个字段比较关键:
- 记录类型:指向 IP 就选 A 记录,指向另一个域名就选 CNAME。同一个主机记录不要混用两种类型。
- 主机记录:只填前缀,比如 blog、api、admin。保存后可以在列表里核对完整域名是否正确。
- 记录值:A 记录填公网 IP,CNAME 记录填目标域名。前后不要带空格,粘贴时尤其要注意。
- TTL:默认值一般够用。调试阶段可以调短,方便改完快速看到效果;服务稳定后再调长,能减少解析请求。
保存后,记录通常几分钟内就能在大部分网络中生效,具体快慢取决于本地 DNS 缓存和之前记录的 TTL。改完不要急着判断失败,可以用 nslookup blog.example.com 或 dig blog.example.com 查询,看返回的 IP 或别名是否和配置一致。如果还是旧值,多半是缓存没有过期,过一段时间再查即可。
三个常见场景
个人博客:A 记录指向 ECS
有位开发者在 ECS 上部署了 Hexo 博客,想用 blog.example.com 访问。他在云解析里添加了主机记录为 blog 的 A 记录,指向服务器公网 IP,然后在 Nginx 中把 server_name 配置为 blog.example.com,并申请证书开启 HTTPS。这个场景步骤最少,但有个常见问题:DNS 已经解析到服务器,Nginx 的 server_name 却没对上,结果就是解析成功、访问却返回 404。两边要一起检查。
静态资源:CNAME 指向 CDN
一个电商团队把图片和前端静态文件放在 OSS 中,通过 CDN 加速,资源域名用 static.example.com。操作顺序是:先在 CDN 控制台添加加速域名,拿到 CDN 分配的 CNAME 地址;再回到云解析,添加主机记录为 static、类型为 CNAME 的记录,记录值填写这个地址。主域名不需要改动,静态资源流量就交给 CDN 处理了。
多环境:dev、test、api 分开指向
一个 SaaS 项目需要同时维护开发、测试和生产环境,规划了 dev.example.com、test.example.com 和 api.example.com。三个域名分别指向开发服务器、测试服务器和负载均衡实例,其中 api 指向 SLB 的地址。前端通过域名切换环境,代码里不再写死 IP。之后迁移服务器时,只需修改解析记录,代码基本不用动。
容易出错的几个地方
- 同一个主机记录下如果已经有 CNAME,再添加 A 记录会提示冲突。需要先删除旧记录,再添加新的。
- 根域名(@)对记录类型的限制比较多,设置前先在控制台确认支持哪些类型,不要直接套用二级域名的做法。
- 通配符解析 *.example.com 会兜住所有没有单独配置的子域名。使用前要想清楚哪些子域名会被统一指向同一地址,避免请求落到错误的服务上。
- HTTPS 证书要覆盖每个二级域名。可以为每个域名单独签发,也可以使用支持通配符的证书,否则浏览器会提示证书与域名不匹配。
整体流程并不复杂,真正花时间的是提前想清楚每个子域名做什么、指向哪里。想清楚之后,后面新增一个服务基本只需要加一条记录。