A记录、CNAME记录 详细应用场景
一、先回顾核心定义
- A记录 :域名 → 直接解析到公网IP
- CNAME记录 :域名 → 解析到另一个域名,不能填IP
- 同域名可多条A记录:实现多IP轮询、简单负载均衡
- 单条CNAME只能指向1个目标域名;多个子域名可都CNAME挂同一个目标
二、A记录 适用场景
场景1:单台云服务器/ECS 直接建站、部署服务
你有一台阿里云/华为云ECS,有固定弹性公网EIP
直接用A记录把域名绑死这个IP
www.xxx.comA → 120.79.xx.xx
适合:个人网站、后台系统、小型业务、固定一台服务器不扩容。
场景2:需要多IP轮询,做简易负载均衡
同一业务部署在多台服务器,多个公网IP
给同一个域名配置多条A记录
api.xxx.comA → 1.1.1.1api.xxx.comA → 2.2.2.2
作用:
用户访问自动DNS轮询,随机分到不同IP,分担压力,不用额外买负载均衡器。
场景3:内网固定机器、办公系统、数据库对外暴露
数据库、OA系统、运维跳板机,IP长期不变
直接A记录绑定固定IP,解析最快、最简单。
场景4:不能用CNAME的情况
顶级域名(xxx.com 不带前缀)一般不允许做CNAME
规范都是直接用A记录绑IP。
三、CNAME记录 适用场景
场景1:对接 负载均衡ELB / SLB
阿里云、华为云、AWS 的ELB,只会给你一个域名 ,不给固定IP(IP可能随时变)
不能填IP,只能用CNAME:
dev.xxx.com(自己配置的三级域名 ) CNAME →lb-xxxx.aliyuncs.com(厂商给的 )
优势:厂商后台改ELB底层IP,你不用改自己任何DNS解析 ,自动生效。
所以当用户访问三级域名(dev)的时候就会自动跳转到厂商给的域名(lb)那。
场景2:对接 CDN 加速、对象存储OSS
CDN、OSS背后有成百上千节点IP,动态调度、随时变IP
你根本没法一个个填A记录,只能CNAME:
www.xxx.comCNAME →xxx.tbcdn.com
场景3:多个三级子域名 共用同一套业务入口
测试、预发、正式、后台、接口,多个三级域名:
test.xxx.com、admin.xxx.com、api.xxx.com
全部CNAME指向同一个ELB域名:
test.xxx.com → CNAME → lb.aliyuncs.com
admin.xxx.com → CNAME → lb.aliyuncs.com
api.xxx.com → CNAME → lb.aliyuncs.com
统一收口管理,后续换入口只改一次目标域名即可。
场景4:域名别名复用
想 www.xxx.com 和 xxx.com 访问一模一样
配置:
www.xxx.com CNAME → xxx.com
不用重复配置解析、不用重复部署服务。
场景5:后续可能更换IP、不想频繁改DNS
只要业务未来有可能换服务器IP、换入口,优先用CNAME
把解析收口到一个目标域名,以后只改目标域名的A记录,所有挂靠子域名全部自动更新。
四、什么时候坚决用A,什么时候坚决用CNAME
优先用 A记录
- 单台ECS、固定EIP,长期不换IP
- 想要多IP轮询做简单负载均衡
- 顶级主域名
xxx.com - 内网跳板机、数据库、固定办公服务
优先用 CNAME
- ELB/SLB负载均衡
- CDN、OSS、云厂商托管服务
- 多个三级子域名共用一套入口
- 未来可能换IP,想少改DNS配置
- 厂商只给域名、不给固定公网IP
五、一句话极简总结
- 固定IP、单机、主域名、多IP轮询 → 用A记录
- ELB、CDN、OSS、多子域名共用、IP会变动 → 用CNAME
案例

如图第三列是主域名,第四列是三级域名。
8:当访问postlback的时候流量会转发到119这个ip上
9:当访问mail的时候流量会转发到mail.arisan这个域名上再转发到该域名对应的A记录ip