返回目录

改了 DNS 却还访问旧站,缓存到底在哪里

> 日期说明:归档日期为历史整理日期,不代表原始首发时间;本文于 2026-11-02 核对并修订。命令示例需按实际环境替换占位符。


权威 DNS、递归解析器、操作系统、浏览器以及应用自身都可能缓存记录。本文整理两个容易忽略的环节,作为日常使用时的检查参考。

<!-- more -->

## 不同位置有不同缓存

权威 DNS、递归解析器、操作系统、浏览器以及应用自身都可能缓存记录。修改控制台中的 A 记录,不意味着所有访问者会立即看到新地址。TTL 是重要参考,但不是任意环节都能强制遵守的承诺。

## 分层查询比反复刷新有效

先确认权威记录,再查公共递归解析结果,最后看本机查询。浏览器使用加密 DNS 时,可能绕过系统配置。用 curl 的 resolve 参数可以临时指定连接地址,同时保留正确域名与 TLS 校验。

## 日常使用的小结

迁站时提前降低 TTL,在切换期间保留旧服务一段时间。不要因为一台设备缓存未更新,就连续修改多次解析记录。


## 操作参考与适用边界

### 分别查询记录

```sh
nslookup example.com
nslookup example.com 1.1.1.1
curl --resolve example.com:443:203.0.113.10 -I https://example.com/
```

203.0.113.10 是文档示例地址,必须替换。resolve 只改变该次连接目标,仍保留域名和证书校验;公共解析结果与内网私有记录可能不同。

### 如何判断结果

操作后应将实际结果与文中目标对照;命令成功退出只能证明该步骤完成,不能替代业务层验证。记录异常信息时,保留时间、软件版本与相关上下文,方便后续复查。

## 参考资料

- [官方文档与规范](https://developers.google.com/speed/public-dns/docs/using)(本次整理参考,页面内容可能随版本更新)
- [继续阅读本站归档](/archives/)