我最近购买了一个新域名,并将其指向另一台主机。我决定转移到更强大的服务器,因此第二天,我在注册商处为我的专用服务器 23.23.23.23 添加了一条 A 记录。我已在此服务器上运行 anotherdomain.com。
A mysite.com 23.23.23.23
A www.mysite.com 23.23.23.23
A *.mysite.com 23.23.23.23
这是我的 apache2 conf 中的 sites-available
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName www.mysite.com
ServerAlias mysite.com *.mysite.com
DocumentRoot /var/www/mysite
<Directory />
AllowOverride None
Options FollowSymLinks
</Directory>
<Directory /var/www/mysite>
AllowOverride All
Options FollowSymLinks MultiViews
Order allow,deny
allow from all
</Directory>
</Virtualhost>
问题是,当我导航到 mysite.com 时,它会带我到我昨天使用的旧主机页面,而不会在我的专用服务器上显示该页面!它在过去 24 小时内时断时续。
当我从其他服务器获取 mysite.com 时,它工作正常。我运行了 checkdns.net,一切都正常!
发生什么事了?我该如何修复它?
答案1
根据上面的描述,这听起来可能归结为 DNS 服务器缓存时间。
(a) checkdns.net 和 (b) 您从其执行 wget 的服务器所使用的 DNS 服务器反映了更新的信息。但是,根据 TTL,此更新信息可能不会反映在其他地方(正在使用的 DNS 服务器缓存了旧信息)。
有关更多信息,请参阅维基百科 DNS 文章中的“缓存时间”部分这里。
答案2
“时断时续”强烈表明 DNS 缓存是罪魁祸首。请检查您当地的缓存解析器(逐个检查),并检查缓存的 TTL 和 RR 数据。这将告诉您 (a) 哪个解析器需要刷新,或 (b) 您必须等待多长时间。如果它们都同步但仍然有问题,请向我们提供您想要的真实域和 IP 地址,以便人们可以自行调查。