域名、DNS 与解析链路
第一次建站时,域名和 DNS 往往是最早把人绕晕的地方。
因为它同时涉及:
- 域名在哪里买
- 去哪里改解析
- 什么是
A、AAAA、CNAME - 什么是 Nameserver
- 为什么改了记录却没立刻生效
先讲一句最重要的话
域名本身只是名字,DNS 负责告诉世界“这个名字应该去哪”。
所以:
- 买域名,不等于网站已经能访问
- 有服务器,不等于用户能通过域名访问
- 改了解析,不等于会立刻全网生效
你实际会碰到的几个角色
域名注册商
就是你买域名的地方,比如阿里云、腾讯云、Namecheap 等。
DNS 服务商
负责托管你的解析记录。它可以和注册商是同一家,也可以不是。
Nameserver
Nameserver 决定“这个域名最终由哪家 DNS 服务商负责解释”。
如果你把域名接入 Cloudflare,最关键的一步往往不是改某条 A 记录,而是把域名的 Nameserver 改成 Cloudflare 提供的那一组。
最常见的 DNS 记录类型
A 记录
把域名指向 IPv4 地址。
example.com -> 203.0.113.10
AAAA 记录
把域名指向 IPv6 地址。
CNAME 记录
把一个域名别名指向另一个域名。
www.example.com -> example.pages.dev
这在静态托管、CDN 接入和平台托管中很常见。
MX / TXT
虽然和网站访问不是一回事,但邮箱验证、SPF、DKIM、站点验证、第三方服务接入经常会用到。
一次解析大致怎么走
当用户访问 docs.example.com 时,最小理解流程可以这样看:
- 浏览器先问本地缓存和系统缓存
- 如果没有,再去问递归 DNS 解析器
- 解析器根据域名的权威 DNS 信息查到记录
- 最终得到一个 IP 或另一个目标域名
- 浏览器再去建立连接
你不用把每一步递归查询都背成考试答案,但要知道:
- DNS 本身也有缓存
- 所以你改完记录不会立刻全球同步
TTL 是什么
TTL 可以简单理解成“这条解析结果可以被缓存多久”。
TTL 越短:
- 生效切换通常更快
- 查询次数可能更多
TTL 越长:
- 缓存更稳定
- 改动后的刷新更慢
对于第一次建站,更重要的不是把 TTL 调得多极端,而是知道“为什么我明明改了,别人还看到旧结果”。
建站里最常见的几种解析场景
场景 1:裸域指向服务器
example.com -> A -> 203.0.113.10
场景 2:www 指向托管平台
www.example.com -> CNAME -> your-site.pages.dev
场景 3:整站接入 Cloudflare
域名注册商
↓
Nameserver 指向 Cloudflare
↓
在 Cloudflare 控制台里管理 DNS 记录
新手最容易踩的坑
1. 改错地方
你在注册商那里改了一堆记录,但实际权威 DNS 已经切到 Cloudflare 了,那这些改动不会生效。
2. 把 Nameserver 和普通记录混为一谈
Nameserver 是“谁来管解析”,A/CNAME/TXT 是“具体怎么解析”。这不是同一层东西。
3. www 和裸域只配了一个
很多人只让 example.com 能访问,却忘了 www.example.com,或者反过来。
4. 解析生效和 HTTPS 生效混为一谈
域名能指过去,不代表证书已经对;证书对了,也不代表重定向配置正确。
第一次搭站的实用建议
如果你是个人站或文档站,通常至少要明确这几件事:
- 你要不要同时支持裸域和
www - DNS 最终由谁管理
- 你的源站究竟是托管平台、对象存储还是自有服务器
- 你是否要在 DNS 层前加一层代理/CDN
一个简单但实用的思路
如果你还没完全熟练,尽量做到:
- 域名归属清楚
- 权威 DNS 清楚
- 每条记录的用途清楚
- 别同时在多个地方盲改
DNS 不难,真正难的是在角色还没分清时乱改配置。
适合接着读什么
- 协议和安全链路:看 HTTP 与 HTTPS
- 想理解代理层和缓存:看 CDN 原理与应用
- 想看 Cloudflare 这类 DNS + 代理 + HTTPS 如何实操:看 Cloudflare 接入、代理与 HTTPS 全链路