经常会有网友做域名解析的时候问:域名 A 记录和 CNAME 记录区别在哪?什么是 A 记录,什么是 CNAME 记录,如何选择等等,对于新手来说搞不清楚这两个概念也是挺愁人的,因为这两个记录是域名解析中使用频率最高的,浏览本博客的访客中也有很多正在学习的新人。
本着普及运维基础知识、引导初学者快速上手的目的,魏艾斯博客把这个问题拿出来详细讲一遍,尽管网络上已经有太多类似的说明文了。老魏用自己的理解说出来,希望看到此文的初学者能够加深理解,快速上手。
1、什么是域名解析
域名解析就是你买到的云服务器,默认分配一个已经绑定的 IP 地址,因为数字多不方便记忆,就用容易记忆的域名代替 IP 地址引导访客进入网站点。域名的解析工作由 DNS 服务器来完成。国内所有域名注册商都有自己的 DNS 服务器,比如你在新网买了域名,又想使用 DNSPOD 提供的 DNS 服务,那么就要在新网域名后台把 DNS 服务器地址改成 DNSPOD 的,然后再去 DNSPOD 添加域名,再解析域名到 IP 地址,或者添加 CDN 加速服务等,这样就顺理成章的完成了一次域名解析工作。
2、什么是 A 记录
A 记录用来记录域名对应的 IP 地址,下图的主机记录是域名前缀,记录值是 IP 地址,其他无需修改。主域名的主机记录是@,国内常用的域名前缀是 www,mail 之类的,也可以自定义。
A 记录是使用频率最高的了,很多网站默认使用 A 记录解析域名。不过也有缺点就是容易被发现服务器的真实 IP,导致 DDOS 攻击。
3、什么是 CNMAE 记录
CNAME 记录也是一种和 A 记录功能差不多的域名记录方式,也叫别名记录。用来把域名解析到别的域名上。常用于 mail 邮箱解析和 CDN 加速解析,特别是 CDN 加速解析是现在 CNAME 记录最大的用途了。如下图主机记录是 www(或自定义),记录类型是 CNAME,记录值是从 CDN 加速网站获取的。
4、A 记录和 CNAME 记录有什么区别
简单的说,A 记录直接指向 IP 地址,CNAME 记录指向域名。IP 地址是互联网世界中唯一的,而 CNAME 指向的域名也要指向 A 记录,也就说 IP 地址可以按需更换,而无需变更 CNAME 的记录值。
5、域名解析选 A 记录还是 CNAME 记录
老魏遇到很多初学者都会直接添加 A 记录,如果是学习用、研究用也无所谓了;如果是长期建站、项目运营的话,一般都建议使用 CNAME 记录。CNAME 记录可用于 CDN 加速,通过 CDN 加速别名解析网站域名,这样既可以起到加速网站的作用,又能隐藏网站的真实 IP,减少被攻击的几率。现在的云服务器一般都接入了 BGP 多线路,至少是电信、联通、移动三线路,在更换 IP 的时候 CNAME 记录变,特别方便。
这里有一个添加 CNAME 记录提示和 A 记录冲突如何解决的文章,是之前朋友遇到问题老魏总结出来的,给大家参考一下。
另外现在应该不会有人还认为 CNAME 别名会导致 SEO 效果差、搜索引擎不收录了吧,这种论调早已经过时了。现在搜索引擎对网站的收录,从 A 记录和 CNAME 记录的角度来说没有差别。