技术与生活 / 一篇记录
新增解析后仍说不存在,可能是负缓存
DNS 不仅缓存成功记录,也可能暂存不存在的回答。新增记录已经正确写入权威区后,之前查询过的解析器仍可能沿用旧的否定结果。
成功答案和不存在答案都可能被缓存,新增记录也会受到负缓存影响。
实际怎么检查
排查时先记录客户端与网络条件;涉及 IPv6、代理或 NAT 时,需要分别观察每一跳。
记录变更时间 / 原 TTL / 查询时间
分别记录权威查询与常用解析器的结果。
遇到异常再检查什么
同时保存权威与递归查询结果,并给缓存合理的过期时间。不要连续改动正确记录来碰运气,否则会让各处缓存对应到更多不同版本。
客户端也可能继续保留否定结果。权威与递归都正确后,再检查应用侧缓存会更有方向。每轮测试保留时间,可以判断变化是否与缓存期限吻合,而不只是感觉“等一会就好了”。
修改 TTL 不会让已经缓存的旧答案立即消失。
参考:网络 文档。