跳到正文
一AllOne
关注

上手教程

DNS 是什么:解析、带不带 www、HTTPS 一次讲清

买了域名、部署了网站,中间还隔着一层 DNS。这篇用最少的概念讲清楚解析是怎么回事、常用的几种记录各干什么、带不带 www 怎么选,以及 HTTPS 证书是怎么自动生效的。

发布于 2026-10-22 · 最后核实:2026-10-22 · 文中价格与额度以各官网为准

很多人第一次绑定域名都会卡在同一个地方:托管平台让你「添加一条 A 记录」或者「把 CNAME 指向某某地址」,然后网站要么打不开,要么显示证书错误,要么带 www 能开、不带 www 打不开。

这些问题其实都出在 DNS 这一层。好消息是,一个人做网站需要懂的 DNS 知识非常有限,理解三件事就够了:解析是怎么发生的、几种常用记录分别干什么、www 和 HTTPS 怎么配。

DNS 在做什么

浏览器访问网站,最终要知道的是服务器的 IP 地址。DNS(域名系统)的工作,就是把人记得住的域名翻译成机器用的 IP 地址,常被比作「互联网的电话簿」。

一次完整的查询大致是这样走的:

  1. 你在浏览器里输入 example.com,请求先发给一个递归解析服务器(通常是运营商或公共 DNS 提供的)。
  2. 递归解析器去问根服务器:.com 归谁管?
  3. 根服务器指向 .com 的顶级域服务器。
  4. 顶级域服务器告诉它:example.com 的权威 DNS 服务器是哪几台(这就是 NS 记录)。
  5. 递归解析器去问权威服务器,拿到 IP,返回给浏览器。

对你来说,关键是第 4、5 步:你在哪里管理 DNS 记录,取决于域名的 NS(Nameserver)指向哪里。 如果 NS 指向 Cloudflare,你就要在 Cloudflare 后台改记录;在注册商后台改是不会生效的。这是新手最常见的困惑来源。

缓存与 TTL:为什么改了记录不马上生效

为了快,DNS 结果会在浏览器、操作系统、递归解析器等多个地方被缓存,缓存多久由每条记录的 TTL(存活时间)决定。所以改完记录后,有人马上能看到新网站,有人还看到旧的,这很正常。

实用建议:准备迁移网站之前,先把相关记录的 TTL 调小,等旧的缓存过期后再改指向,切换会快很多。修改 NS(换 DNS 服务商)通常比修改单条记录生效得慢,要留出更长的时间。

你会用到的几种记录

记录 作用 典型用途
A 域名 → IPv4 地址 根域名(example.com)指向托管平台给你的 IP
AAAA 域名 → IPv6 地址 同上,IPv6 版本
CNAME 域名 → 另一个域名(别名) www.example.com 指向托管平台给的地址,比如某个 xxx.平台域名
MX 指定收邮件的服务器 用企业邮箱或邮件转发服务时需要
TXT 存一段文本 验证域名所有权(如 Google Search Console)、邮件认证 SPF / DKIM / DMARC
NS 指定这个域名由哪组 DNS 服务器负责 换 DNS 服务商时修改

有一个规则要记住:根域名(也叫裸域名、apex)按标准不能使用 CNAME,因为根域名上还必须有 NS 等其他记录,而 CNAME 不能和其他记录共存。所以托管平台通常会这样要求:

  • 根域名 example.com → 添加 A 记录,指向平台给的 IP(Vercel 的文档就是这样写的)。
  • 子域名 www.example.com 或 docs.example.com → 添加 CNAME 记录,指向平台给的地址。

有些 DNS 服务商提供「CNAME 拉平」(CNAME flattening)之类的功能,允许你在根域名上「看起来像」用 CNAME,背后由服务商自动解析成 IP 返回。Cloudflare 文档对这个功能有专门说明。能用就用,不能用就老老实实加 A 记录。

还有一种做法是把域名的 NS 整个交给托管平台(Vercel、Netlify 等都支持),由平台替你管理所有记录。省事,但以后换平台时要把 DNS 一起搬走;如果你还用这个域名收邮件,切换 NS 之前务必先把已有的 MX、TXT 记录抄下来,在新 DNS 服务商那里补上,否则邮件会断。

带不带 www:选一个,然后坚持

example.com 和 www.example.com 在技术上是两个不同的地址。用哪个做「正式地址」没有标准答案,MDN 的说法很中肯:这在很大程度上是个人选择,重要的是选定一个,然后始终如一。

不过有几个参考因素:

  • 不带 www:更短,看起来更现代。
  • 带 www:它是子域名,可以用 CNAME 灵活指向 CDN 或托管平台,迁移时更省心;Vercel 在你添加根域名时会主动建议加上 www,并在文档里解释了理由。

无论选哪个,都要做到两点:

  1. 两个地址都能访问。 用户可能输入任何一个。
  2. 非正式地址用 301 永久重定向跳到正式地址。 比如选了不带 www,那么 www.example.com/abc 应该 301 跳转到 example.com/abc。这样搜索引擎会把两者视为同一个网站,不会把权重分散到两个地址上。Google 的规范化文档也建议优先用重定向来处理重复网址。

绝大多数托管平台的域名设置页都有「重定向到某个域名」的开关,勾上即可,不需要自己写服务器配置。

HTTPS:证书是怎么来的

HTTPS 让浏览器和网站之间的通信加密,并证明「这个网站确实是 example.com」。现在浏览器会对没有 HTTPS 的网站显示「不安全」,所以它是必选项。

好消息是,主流托管平台和 CDN 都会自动为你申请和续期证书。背后的原理大致是:

  1. 平台向证书颁发机构(例如免费的 Let's Encrypt)申请证书;
  2. 证书机构要求证明「你控制这个域名」——常见方法是在网站的特定路径放一个文件(HTTP-01 验证),或者在 DNS 里加一条特定的 TXT 记录(DNS-01 验证);
  3. 验证通过后签发证书,平台到期前自动续期。

理解这一点,你就能看懂很多证书错误的原因:DNS 还没指过来,平台就没法完成验证,证书就签不下来。 所以绑定域名后看到「证书生成中」,多等一会儿通常就好;如果长时间不好,回头检查 DNS 记录是不是填对了、是不是改错了地方。另外,按 Let's Encrypt 的说明,HTTP-01 方式不能签发通配符证书(*.example.com),通配符证书需要走 DNS 验证,这也是有些平台要求你把 NS 交给它们的原因之一。

用了 CDN 代理时的加密模式

如果你在 Cloudflare 里把记录设成「代理」(橙色云朵),访问路径就变成了「访客 ↔ Cloudflare ↔ 你的源站」两段连接。Cloudflare 的 SSL/TLS 设置决定第二段怎么加密,官方强烈建议使用 Full 或 Full (strict) 模式。

常见翻车现场:源站本身已经强制 HTTPS,而 Cloudflare 用的是只加密第一段的 Flexible 模式,结果两边互相重定向,浏览器报「重定向次数过多」。遇到这个错误,先去检查加密模式。

如果网站托管在 Vercel、Netlify 这类平台上,再套一层 Cloudflare 代理往往是多余的,还可能干扰平台自己的证书签发。不确定时,把记录设为「仅 DNS」(灰色云朵)最稳妥。腾讯 EdgeOne 等其他 CDN 也有类似的回源加密设置,原理相同。

常见问题速查

现象 最可能的原因
改了记录完全没变化 改错了地方:NS 指向的不是你正在操作的服务商
有人能打开有人打不开 DNS 缓存未过期,等 TTL 过去
带 www 能开,不带打不开(或反过来) 只配了一条记录;或没设置重定向
证书错误 / 证书一直在生成 DNS 还没正确指向平台;CAA 记录限制了证书机构;通配符需要 DNS 验证
重定向次数过多 CDN 加密模式和源站的 HTTPS 设置冲突
换 DNS 后邮件收不到了 没把 MX / TXT 记录迁移过去

一套推荐配置

对大多数一个人的网站,这样配就够了:

  1. 选一个正式地址(带或不带 www)。
  2. 根域名加 A 记录、www 加 CNAME,按托管平台给的值填写。
  3. 在平台里把非正式地址设置成 301 跳转到正式地址。
  4. 等平台自动签好证书,用浏览器分别访问 http://、https://、带 www、不带 www 四种组合,确认最后都落到同一个 HTTPS 地址。
  5. 在 Google Search Console 里用 DNS 方式(加 TXT 记录)验证整个域名。

做完这些,域名这一层就不太会再出问题了。

参考资料

常见问题

在注册商后台改了 DNS 记录为什么不生效?
你在哪里管理 DNS 记录,取决于域名的 NS 指向哪里。如果 NS 指向 Cloudflare,就要在 Cloudflare 后台改记录,在注册商后台改是不会生效的。
根域名可以用 CNAME 记录吗?
按标准不能,因为根域名上还必须有 NS 等其他记录,而 CNAME 不能和其他记录共存。通常根域名加 A 记录指向平台给的 IP,www 等子域名加 CNAME。有些 DNS 服务商提供 CNAME 拉平功能。
网站域名要不要带 www?
没有标准答案,重要的是选定一个然后始终如一:两个地址都能访问,非正式地址用 301 永久重定向跳到正式地址,这样搜索引擎会把两者视为同一个网站。
绑定域名后证书一直在生成,怎么办?
DNS 还没指过来,平台就没法完成验证,证书就签不下来。多等一会儿通常就好;如果长时间不好,回头检查 DNS 记录是不是填对了、是不是改错了地方。
用 Cloudflare 后提示重定向次数过多是怎么回事?
常见原因是源站已经强制 HTTPS,而 Cloudflare 用的是只加密第一段的 Flexible 模式,两边互相重定向。先去检查加密模式,Cloudflare 官方建议使用 Full 或 Full (strict)。

← 返回教程列表