最近,我通过将一个网站的A记录更改为其新服务器的IP地址,将其移动到一个新服务器。
在4小时内,我们网络上的所有机器都正确地解决了问题,在24小时内,每个名称服务器dig / cachecheck.opendns.com / etc都找到了正确的IP。
然而,客户端的机器似乎是世界上唯一仍能解决旧IP问题的机器。
这是72小时,他已经刷新了他的DNS,他不能改变他的DNS解析器,因为他说这会引起其他问题。
目前,我创建了一个将IP重写为URL的配置,并创建了一个php header指令,该指令通过新IP将旧站点重定向到新站点(我一直在祈祷它不会导致重定向循环)。
我能找到的每一个同名服务器到底是如何为这个网站提供正确的IP地址的,而客户端的机器却还在使用旧的?
我也有:
nslookup [the-domain] [all-three.nameservers.com]没有效果;它们都显示了正确的IP。
我是否可以在旧服务器上设置一些指令,上面写着“对不起,伙计,错误的IP”-?或者我还能做些什么,因为我们不能复制这个--?
发布于 2014-03-31 15:36:07
DNS响应可以缓存TTL时间。每个DNS服务器和缓存客户端都应该在TTL秒之后忘记所有关于旧IP的内容,因为您已经更改了上一次权威服务器上的记录。
如果您的旧记录的TTL尚未通过,那么客户仍然可以看到旧的IP。这很可能发生在您的客户端,因为他们经常使用您的DNS记录和缓存它。
如果您的旧TTL已经通过,那么您和您的客户端之间就会有一些buggy (这在客户端并不完全必要)。不幸的是,在您的端没有固定的方法(除了可能使用原始ip地址或新的DNS名称)。
我将按以下顺序检查:
如果所有这些都表明你的记录到处都是新鲜的,而TTL自上一次改变以来就已经过去了,那么你的球队似乎还不错。
dig或其他报告记录TTL的工具解析您的名称(不确定是否可以使用nslookup完成此操作),并检查此TTL是否足够。自上一次缓存记录更新以来,cacher报告的TTL (至少应该是)减少了,因此您将看到几个请求之间的时间减少了。如果没有-有错误的或配置错误的DNS。发布于 2014-03-31 14:44:55
听起来问题完全在客户那一边。尽管你想以任何可能的方式帮助他们是高尚的,但如果他们不愿意看到问题在他们的头上,你就无能为力了。
让他们在他们的终端测试nslookup,并验证其解析为旧IP。
然后让他们做同样的nslookup测试,但使用:
nslookupserver 8.8.8.8 (这将临时更改它们的DNS解析器,以便在命令期间进行测试)www.domain.com它应该在这一点上显示出正确的知识产权。如果还没有.问题就在你头上。如果它确实显示了正确的IP,那么问题就在您的客户端,您可以将它们指向他们的DNS服务器,看看他们是否可能在DNS服务器上为网站设置手动条目,或者仍然在缓存旧IP。
发布于 2014-03-31 19:59:41
当然,客户端计算机中的主机文件中没有您的域的数据,是吗?
一段时间前,我被一个DNS缓存卡住了,没有遵守TTL --如果您的客户端正在使用其中的一些缓存,那么可能需要重新启动它们。
希望这能帮上忙。
https://serverfault.com/questions/585652
复制相似问题