在阿里云配置二级域名,主要靠云解析DNS完成。你告诉它 blog.example.com 指向哪台服务器,它会把这条记录分发到全球的解析节点。配置本身通常五分钟左右就能完成,真正容易出错的是记录类型选错、生效时间没预估好,还有备案。这里按实际操作顺序讲,最后用三个场景说明记录该怎么写。

开始之前要准备什么
需要三样东西:一个完成实名认证的阿里云账号,一个已注册的主域名(比如 example.com),以及目标服务器的公网IP,或者负载均衡实例的访问域名。主域名的DNS服务器要指向阿里云。如果域名是在阿里云注册的,这一步默认已经完成。
服务器在中国大陆的话,网站还要完成ICP备案,否则域名访问可能被拦截。
把主域名接入云解析
登录阿里云控制台,搜索“云解析DNS”,进入解析设置页面,点击“添加域名”,输入 example.com。域名如果是在阿里云注册的,接入会自动完成。在其他注册商购买的域名,需要到注册商后台把DNS服务器改成阿里云提供的两个地址。改完之后,生效一般要几分钟,极端情况下可能需要48小时。
添加二级域名解析记录
还是以 blog.example.com 为例:
- 在域名列表里点“解析设置”,再点“添加记录”。
- 记录类型选 A,表示指向一个IPv4地址。
- 主机记录只填前缀 blog。不要填完整域名,也不要带点号。
- 记录值填服务器公网IP,比如 47.100.20.15。
- TTL保持默认的600秒。调试阶段可以调低,改动生效更快。
- 保存。
记录类型主要就两种。A记录直接指向IP,适合单台ECS。CNAME记录指向另一个域名,适合负载均衡、CDN这类服务。SLB实例的IP可能会变,所以只能用CNAME指向它的访问域名,写成A记录迟早会出问题。
三个场景,三种写法
场景一:个人博客指向ECS
小周在一台阿里云ECS上部署了Hexo静态博客,公网IP是 47.100.20.15,想用 blog.example.com 访问。他的做法是:
- 在云解析里添加A记录,主机记录填 blog,记录值填 47.100.20.15。
- 登录ECS,在Nginx配置里加上 server_name blog.example.com;,先执行 nginx -t 检查语法,确认无误后再执行 nginx -s reload 重新加载。
- 到SSL证书服务申请免费DV证书,绑定到这个子域名,再在Nginx里配置443端口。免费证书有配额限制,具体数量以控制台显示为准。
他添加记录大约8分钟后,用 dig blog.example.com +short 查到了正确的IP,浏览器也能正常打开。
场景二:API子域名指向负载均衡
某团队的SaaS产品用 api.example.com 作为接口入口,后端由SLB承接,实例访问域名是 lb-xxxx.cn-hangzhou.slb.aliyuncs.com。这种情况不能用A记录,因为SLB的IP可能随扩容变化,应该用CNAME:
- 主机记录填 api,记录类型选CNAME,记录值填SLB的访问域名。
- 保存后,执行 dig api.example.com,确认结果里出现了SLB的域名,并且最终能解析到IP。
同一个主机记录下,CNAME不能和其他类型的记录并存。如果 api 之前已经有A记录,要先删掉,否则会提示记录冲突。
场景三:多租户平台用泛解析
一个面向小企业的建站平台,每个客户分配一个 客户名.example.com 形式的地址。平台没有给每个客户单独建记录,而是加了一条泛解析:
- 主机记录填 *,记录类型选A,记录值指向网关服务器的IP。
- 单独设置过的记录(如 www、blog)优先匹配,不受泛解析影响。
泛解析的风险在于,任意子域名都会落到网关上,扫描器和恶意用户同样能利用。所以网关必须校验HTTP请求头里的Host字段,对没有登记的域名直接返回404,也不要暴露后端信息。另外,泛域名证书 *.example.com 只覆盖一级子域名,不覆盖 a.b.example.com,多级子域名需要单独规划证书。
配置后常见的几个问题
- 记录加了,访问的还是旧IP。先看TTL有没有到期,再清除本地DNS缓存。Windows执行 ipconfig /flushdns,macOS执行 sudo dscacheutil -flushcache。想判断是缓存问题还是解析本身的问题,可以用 dig @223.5.5.5 blog.example.com 直接查询阿里公共DNS。
- 提示记录冲突。同一主机记录下已经有别的类型,比如CNAME和A记录并存。删掉旧记录再添加。
- 解析正确,网站打不开。检查ECS安全组是否放行80和443端口,再看Nginx的 server_name 是否和访问域名一致。
- HTTPS报证书错误。证书绑定的域名必须和访问地址完全一致。blog.example.com 的证书用在 www.example.com 上,同样会报错。
- 大陆服务器访问不了。确认域名和服务器都已完成ICP备案。备案未通过时,网站可能被拦截。
顺手做的几件安全收尾
- 日常运维别用主账号。给运维人员建RAM子账号,只授予DNS相关权限,例如 AliyunDNSFullAccess,或者自定义范围更小的策略。
- 打开操作审计,能查到谁在什么时间改了哪条解析。
- 服务下线后,记得删掉对应的解析记录。残留记录指向已释放的IP或实例,可能被人接管子域名,用来发布钓鱼内容。