我有一个DNS域名logging我想改变的子域名。 做完这些之后,我需要等一段时间才能体现变化吗?
如果是的话,在停机期间是否有可能为访问刚刚编辑的子域的用户提供“停机时间消息”?
更改DNS时,需要一些时间才能将更改传播到Internet。 根据您的ISP /位置,可能需要几秒钟到48小时。
你可以使用旧的IP来build立一个临时的networking服务器来通知你的用户正在进行的DNS更新,并把它们转发到一个新创build的子域,这个子域也指向新的IP。 这些通常传播得更快。
一旦DNS调整已经传播,用户将自动被导向新的IP。 当临时服务器没有得到更多的请求时,你可以确定这个过程已经完成。
更改服务器和IP :
1.2.3.4 =旧的IP
1.2.3.5 =新的ip
移动你需要移动的所有东西。
开始:
mydomain.com. A 1.2.3.4
更改为:
mydomain.com. A 1.2.3.5 new A 1.2.3.5
更改1.2.3.4的Web服务器以显示转发到new.mydomain.com的启动页面。
在同一台服务器上更改IP :
如果您不更改服务器,只更改IP,则更改虚拟主机以侦听这两个IP并更改Alogging。 当DNS传播发生时,用户将慢慢开始使用新的IP。
NameVirtualHost 1.2.3.4 NameVirtualHost 1.2.3.5 <VirtualHost 1.2.3.4 1.2.3.5> DocumentRoot /www/mydomain.com ServerName server.mydomain.com ServerAlias server </VirtualHost>
是的,由于caching的方式,DNS更改存在传播延迟。 延迟的长度由logging的TTL(“生存时间”)值控制。 如果您没有明确地将其设置为其他内容,则取决于您的注册商,这将在3到24小时之间。 一些注册商允许你改变TTL(如果你拥有你自己的DNS,你可以完全控制),但是要注意TTL的改变将会花费老的TTL长度来传播。
要了解您的TTL设置为什么,请检查您的注册商的控制面板是否显示该TTL。 如果没有,则创build一个新的子域Alogging并运行dig sub.domain.tld 。 在输出中,您将得到如下所示的内容:
;; ANSWER SECTION: sub.domain.tld. 3600 IN A 11.22.33.44
这表明TTL值是一个小时(3600秒)。 如果你一分钟后再做,你应该看到:
;; ANSWER SECTION: sub.domain.tld. 3540 IN A 11.22.33.44
这意味着您的本地DNScaching现在将在59分钟内重新检查该值。
通过使用像这样的新子域,您知道该值尚未被caching,因此您在第一次查询时可以看到完整的TTL。 dig在几乎所有的Linux设置中都可用(如果没有安装,你通常会在包“dnsutils”中find它),并且可以通过Cygwin在Windows上使用(如果你不想安装更完整的Cygwin,你可以尝试部分像这个包括挖掘,主机和whois的副本。
有一点需要记住的是,如果用户的DNScaching最近没有被问及这个特定的名称,他们将立即在下一个请求获得新的值,所以TTL为两个小时,所以在传播期间,你应该期待请求到两个IP地址。
如果您控制旧IP地址指向的计算机,并且不运行任何其他网站,则可以安装一个redirect程序(如rinetd来代理到新地址的连接。 这样,即使是去旧地址的人也会看到来自新服务器的内容(只是慢一些)。 如果有其他的域名托pipe在那里,你可以使用mod_proxy(或者你的web服务器的等价物)来达到同样的目的。 虽然如果传播时间足够短,您可以用“该网站将在X小时内回复”消息来replace该服务器上的该网站的所有页面,这显然更容易。
或者,你可以在改变之前的一两天内设置TTL非常短 – 这样传播延迟就会变短。 其实我的TTL永久设定为五分钟。 不要把它设置的太短:技术上TTL为0意味着“永远不要caching这个值”,但是一些错误的DNScaching和客户端软件将忽略低于某个值的任何东西,并假设更高的值。
是的,DNS传播可以从几秒到几个小时(取决于你的地理位置和你所在地区的DNS服务器,你不能把停机时间的消息,因为它只会显示,如果你的Alogging已经成功地传播到每个DNS你可以做的一件事是,只是不要禁用旧的服务器,因为该站点应该从两个服务器上,除非Alogging被正确填充。
validationDNSparsing,从互联网上获取公共DNS服务器列表并运行此命令:
nslookup yoursite.com 8.8.8.8 < – 谷歌DNS
nslookup yoursite.com 4.2.2.6 <-verizon dns
这样,继续检查随机的DNS服务器。
当您更改DNS Alogging时,需要时间将此更改反映到更广泛的互联网上。 通常说这可能需要长达48小时,尽pipe可能需要更长的时间。
如果您有权修改域名的TTL,我会build议这样做,因为这样可以帮助更快地看到更改。
我要做的就是在旧服务器上留言,告诉人们网站正在移动以及何时发生。 也给他们一些方式来联系你,如果他们不能在48小时后得到新的网站。
如果您将来计划使用此function,请提前降低Alogging的TTL。
它在任何地方都不会立即改变,所以需要一个时间框架来访问两个IP。
如果您仍拥有旧IP,则可以显示消息,代理请求等。