如何利用 CNAME 记录为您的业务带来好处

www 的网址和不带 www 的网址,之所以打开同一个网站,是因为其中一个名字被一条 CNAME 记录"转接"到了另一个名字上——就像呼叫转移:你拨打 A 号码,电话其实被转到 B 号码去接听。把 www、blog.公司.com、shop.公司.com 这些名字都转接到同一个目标,最实在的好处是:以后换主机、换平台时,你往往只改一个地方,其余名字自动跟着走,不必逐个去改、也少了"漏改一个、某个网址突然打不开"的风险。

如何利用 CNAME 记录为您的业务带来好处
CNAME 记录把一个名字转接到另一个"正式名字"上;多个网址共用一个目标,搬迁时改一处、其余自动跟随,是它真正帮到企业的地方。

这篇文章适合谁看?

如果你的公司有网站,又遇到过下面任意一种情况,这篇值得花几分钟:纳闷"www 和不带 www 怎么是同一个站"、想加一个 blog. 或 shop. 的子域名却不知道怎么指、或者有人让你"加一条 CNAME 记录"而你不清楚那是什么、动了会不会出事。如果你完全不碰这些,也不打算碰,可以放心跳过。

先说为什么会有 CNAME 这种记录

要明白 CNAME,先看它当初是为了解决什么麻烦。互联网上每台服务器的真实身份,是一串数字地址(IP 地址);DNS(域名系统)就是互联网的"电话簿",专门把你好记的域名翻译成这串数字,访客才找得到你的网站。

问题来了:一家公司常常有好几个名字指向同一个网站或同一个服务——www.公司.com、blog.公司.com、shop.公司.com 等等。如果每一个名字都各自登记一串数字地址,那么有朝一日这个服务搬了家、数字地址变了,你就得把每一个名字逐条翻出来改一遍,漏了哪一个,对应的网址就打不开。CNAME 记录就是为了解决这个"改一处要追着改很多处"的麻烦而设计的:它不直接登记数字,而是把一个名字"转接"到另一个正式名字上,让这些名字都跟着这一个正式名字走。以后地址变了,只动那个正式名字一处,其余转接过来的名字自动跟随。

把它想成电话里的"呼叫转移"

CNAME 最贴切的比喻是呼叫转移:你拨打 A 号码,电话被自动转到 B 号码、由 B 来接听。CNAME 干的就是这件事——访客在浏览器输入一个名字,DNS 发现它是一条 CNAME,于是顺着它去找被转接到的那个正式名字,再由那个名字给出真正的地址。访客全程无感,看到的还是原来那个网址。

一条 CNAME 记录长什么样

在 DNS 后台真正填写时,一条 CNAME 记录其实就是简单的几栏,对应"哪个名字转接到哪个目标":

  • 主机/名称(Host / Name):你要设定的那个别名,也就是"拨出去的号码",比如 www,或是一个子域名如 shop。不同后台这一栏可能叫 Host,也可能叫 Name。
  • 值/指向目标(Value / Points to):转接到的那个正式名字,也就是"电话真正被接听的地方",比如 公司.com,或某个服务商给你的主机名如 shops.myshopify.com。这一栏在不同后台叫法不一,可能是 Value、Points to、Alias 或 Canonical name,指的都是同一件事。
  • TTL:这条记录可以被各地服务器缓存多久,以秒计;数字越小,日后改动生效越快,但查询会略频繁一些。

以 GoDaddy 后台为例,添加一条 CNAME 大致是这样:添加记录 → 类型选 CNAME → 名称填别名(如 www)→ 值填目标主机(如 公司.com)→ 保存。各家界面不同,但要填的就是上面这几栏。还有两条规则值得记住:主域名本身(很多后台写成 @,即不带任何前缀的"光秃秃"域名)一般不能用 CNAME;而且同一个名字上有了 CNAME,就不能再叠加别的记录——这两条其实是同一个道理。

www 和不带 www,为什么是同一个网站

这就是呼叫转移最常见、也最贴近你那个问题的用法。通常的做法是:把 www.公司.com 用一条 CNAME 转接到不带 www 的主域名(公司.com)这个正式名字上,于是在浏览器输入哪一个,最终都到同一个网站。反过来则不行:前面说的"主域名(@)一般不能用 CNAME"正是这个原因——这个位置得保留 DNS 运转所需的基础记录,而 CNAME 又不能和别的记录共存,所以主域名通常改用另一种记录来指向地址。哪个名字能用 CNAME、哪个不能,正是交给维护方拿捏的地方。

blog.、shop. 这些子域名怎么"指来指去"

同样靠呼叫转移,而这正是很多第三方服务对接你域名的方式。常见的几种:商城开在 Shopify 上,它会让你把 shop.公司.com 用一条 CNAME 转接到它给的主机名(如 shops.myshopify.com);客服系统、内容分发网络(CDN,帮你把图片、页面就近缓存、加快打开速度的服务)也大多用同样的方式,给你一个它那边的主机名让你转接过去。还有些服务会让你加一条 CNAME,用来"验证这个子域名确实归你管"或把子域名接到它们的系统上。你只要照着把对应的子域名转接到平台给的名字,访客访问你的子域名,就会被送到平台去接待;哪天平台升级、换了地址,由平台维护那个正式名字即可,你这边的子域名照常工作,不用跟着改。

一个容易踩空的前提:记录要填在对的地方

还有一点常被忽略:CNAME 只有填在你域名实际生效的那家 DNS 服务商那里才管用——也就是你的名称服务器(Name Server)当前指向的那一家。如果名称服务器早就转到了别处,你却在原来的注册商后台改记录,改了也不会生效,白忙一场。对没有专人盯着这些设置的企业来说,光是"知道该在哪儿改"本身就是省下的一份功夫。

A 记录与 CNAME 的区别,别搞混

这两种记录最容易被弄混,但分工很清楚:A 记录把一个名字直接指向真正的数字地址(名字 → 号码);CNAME 把一个名字转接到另一个名字(名字 → 名字),再由那个名字去给出号码。也因此同一个名字通常不能既是 A 又是 CNAME。什么场合该用哪一种,可以看我们另一篇讲 A 记录与 CNAME 区别的文章。

5U Website 怎么帮客户管这件事

CNAME 属于那种"配对了没人察觉、配错了某个网址或整个子域名打不开"的设置。在过去十多年里,我们处理过大量搬站、上新子域名、对接第三方博客与商城平台的场景。我们的做法是:动任何一条记录前先记录现状、想清楚哪个名字应该是"正式名字"、评估改动会影响哪些网址,必要时分步执行,把"主站好好的、某个子域名却打不开"这类各管一段的事故挡在前面。

把这件事交给我们

你不需要自己研究 CNAME 该怎么填、哪个名字能用哪个不能——这正好是我们的日常工作。如果你的网站或某个子域名出现"时好时坏""改了不生效"的怪现象,或者你打算上线一个新的 blog. / shop. 子域名,给 5U Website 写一封邮件,我们通常会在一到两个工作日内回复。

最早发布于:,最近一次编辑时间:

5U® 无忧的咨询

免费估价

778-883-9222

1 天内保证回复
2 小时咨询时间

微信咨询

微信客服

5U® 无忧的咨询

微信咨询

778-883-9222

0费用专业咨询
1天內保证回复
2小时咨询时间