Skip to content

DNS 解析 ​

DNS 的作用:把域名翻译成服务器地址。配置错了,网站就打不开。

记录类型 ​

类型用途示例
A指向 IPv4 地址@ → 1.2.3.4
AAAA指向 IPv6 地址@ → 2001:db8::1
CNAME指向另一个域名blog → xxx.github.io
MX邮件服务器@ → mx.example.com
TXT验证、SPF、DKIM@ → v=spf1 ...
NS指定 DNS 服务器一般由注册商管理

主机记录怎么填 ​

想访问的地址主机记录
example.com@
www.example.comwww
blog.example.comblog
任意子域*(泛解析)

建站最常见的两条记录 ​

text
类型    主机记录    记录值             TTL
A       @          你的服务器公网 IP    600
A       www        你的服务器公网 IP    600

如果服务商支持 CNAME 接入 CDN:

text
类型    主机记录    记录值
CNAME   @          你从 CDN 拿到的 CNAME 地址
CNAME   www        同上

根域名不要乱用 CNAME

@ 用 CNAME 在部分 DNS 服务上不合法,可能导致解析异常。根域名优先用 A / AAAA,或使用服务商提供的 CNAME 拉平(CNAME Flattening)。

TTL 是什么 ​

TTL 是缓存时间,单位秒。600 表示 10 分钟。

  • 平时可以设大一点(3600),减少查询;
  • 准备换 IP 前,先把 TTL 调小(如 300),等一个旧 TTL 周期后再换,切换更快。

解析不生效怎么查 ​

bash
# 查权威结果
dig example.com +short
nslookup example.com

# 指定公共 DNS 查
dig @8.8.8.8 example.com +short
dig @1.1.1.1 example.com +short

排查顺序:

  1. 记录填对了吗:主机记录、类型、值、有没有多余空格;
  2. 域名状态正常吗:是否实名完成、是否 ServerHold、是否过期;
  3. 本地缓存:换网络或等 TTL 过期再试;
  4. 服务器侧:解析对了但打不开,看 防火墙与端口;
  5. Web 服务:Nginx 是否配置了该域名。

邮件相关 ​

发邮件需要 MX 和 SPF,建议再加 DKIM 和 DMARC:

text
TXT  @   v=spf1 include:你的邮件服务商 -all
TXT  _dmarc  v=DMARC1; p=none; rua=mailto:[email protected]

只配 MX 不配 SPF,邮件很容易进垃圾箱。

一个常见坑 ​

「解析生效了,但访问的是旧网站」通常是:

  • 浏览器缓存;
  • CDN 缓存;
  • 本地 DNS 缓存;
  • 服务器上 Nginx 的 server_name 没匹配到,落到了默认站点。

魔力猫 · 让云触手可及