我的学习 我的学习写字 · 记录 · 分享

域名解析是怎么一步步生效的

· 约 1 分钟读完 #网络#DNS#建站

域名解析是怎么一步步生效的

给新站点配域名,最容易让人怀疑人生的一步就是"我明明加了记录,为什么还是打不开"。

理清几个概念,判断起来就快了。

记录类型

最常用的几种:

类型作用例子
A域名指向 IPv4 地址hahaha.asia → xxx.xxx.xxx.xxx
AAAA域名指向 IPv6 地址有 IPv6 再配
CNAME别名,指向另一个域名www → hahaha.asia
TXT文本记录,常用于验证所有权申请证书、验证域名

要绑定服务器,加两条 A 记录就够了:主机记录 @(代表裸域名本身)和 www。

TTL 和缓存

TTL 是"这条记录允许被缓存多久"。国内域名商默认常见 600 秒,也就是 10 分钟。

这里的坑在于,解析要经过好几层缓存:

  1. 你本地系统/浏览器的 DNS 缓存
  2. 运营商递归 DNS 的缓存
  3. 各级权威 DNS

所以改完记录后,正确姿势是:

# 直接问权威 DNS,绕过所有中间缓存
dig @ns1.example-dns.com hahaha.asia A

# 再问公共 DNS,看它缓存了什么
dig @公共DNS地址 hahaha.asia A

前者返回新值、后者返回旧值,那就是在等缓存过期,等着就行;如果前者也是旧值,那才说明记录没保存成功。

判断"到底通不通"

按链路从下往上查,效率最高:

  1. 解析是否生效 —— DoH 查一下有没有 A 记录(能拿到 IP 就说明解析层没问题)
  2. 端口是否可达 —— curl -I http://你的域名,卡住通常是安全组/防火墙没放行
  3. 服务是否响应 —— 直接打 IP:curl -I http://服务器IP
  4. 证书是否匹配 —— curl -I https://你的域名,看有没有证书报错

第 1 步通、第 2 步不通,问题在云服务器安全组;第 2 步通、第 3 步不通,问题在服务本身在不在监听。

最后提醒一句:云厂商的安全组和系统内的防火墙是两套独立的东西,两边都要放行,只改一个照样进不来。