nslookup/dig 与浏览器解析主机名的方式不同

nslookup/dig 与浏览器解析主机名的方式不同

在我的站点,我们刚刚移动了一项重要服务,并在内部和外部进行了适当的 DNS 更改以使其正常运行。

当您在浏览器中打开该网站时,它运行良好。(在 Safari、Chrome、Opera、Firefox 中均可运行,适用于已上网一段时间的计算机和已断网一段时间的计算机。)

确实,这很好。但是当我输入nslookup <hostname>或 时dig <hostname>,我会获得该服务的旧 IP。(如果我在浏览器中输入所述 IP,我会获得该服务的前一个服务器)。

我很困惑。为什么浏览器可以解析新服务,而 nslookup 却不能?[不,/etc/hosts 中没有关于该网站的任何信息]。

[顺便问一下,有没有什么办法可以知道浏览器为某个网站提供了哪个 IP?]

答案1

另一种可能性是,网络上的客户端计算机正在通过 HTTP 代理服务器,该服务器在客户端计算机之前就已经发现了 IP 地址的变化。

答案2

在 Solaris 和 Linux 上有getent(例如 ' getent hosts www.google.com')。它使用系统库进行解析,而不是直接转到名称服务器 (如nslookup)。当有多个命名服务 (本地文件、nis、dns) 在使用时,其中任何一个都可以有答案,这尤其有用。

答案3

我的第一个想法是你在 /etc/hosts 中有一个条目,但听起来你在那里检查过。

我会检查主机名压扁查看 DNS 解析中涉及的内容/人员以及当前正在报告的结果。

不要忘记,DNS 可能需要一段时间才能完成切换,具体取决于所涉及的名称服务器和缓存时间。如果您只在本地遇到问题,则可能是某些本地 DNS 缓存在起作用,您需要重新启动或让其超时。当涉及到 DNS 时,您必须从全局考虑。

[斯奎希维希伍]

答案4

对于你的最后一个问题(“有没有办法知道浏览器为某个网站提供的 IP 地址”),我建议,如果你使用 Firefox,可以使用类似展示IP或者网站信息

相关内容