Jeu*_*une 2 domain-name-system a-record subdomain apache-2.2
我有一个子域,我想更改其 DNS A 记录。这样做之后,我是否必须等待一段时间才能反映更改?
如果是,在停机期间是否可以向访问刚刚编辑的子域的用户发送“停机消息”?
更改 DNS 时,更改在整个 Internet 中传播需要一些时间。根据您的 ISP/位置,它可能需要几秒钟到 48 小时。
您可以使用旧 IP 设置一个临时网络服务器,以通知您的用户有待处理的 DNS 更新,并将它们转发到新创建的也指向新 IP 的子域。这些通常传播得更快。
一旦 DNS 调整传播,用户将自动定向到新 IP。当临时服务器不再收到任何请求时,您可以确定该过程已完成。
更改服务器和 IP:
1.2.3.4 = 旧 ip
1.2.3.5 = 新 ip
移动您需要移动的一切。
开始:
mydomain.com. A 1.2.3.4
Run Code Online (Sandbox Code Playgroud)
更改为:
mydomain.com. A 1.2.3.5
new A 1.2.3.5
Run Code Online (Sandbox Code Playgroud)
更改 1.2.3.4 处的网络服务器以显示转发到 new.mydomain.com 的启动页面。
在同一台服务器上更改IP:
如果您不更改服务器,只更改IP,请更改虚拟主机以侦听两个IP 并更改A 记录。随着 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>
Run Code Online (Sandbox Code Playgroud)
是的,由于缓存的方式,DNS 更改存在传播延迟。延迟的长度由记录的 TTL(“生存时间”)值控制。如果您没有明确将其设置为其他内容,则它将在 3 到 24 小时之间,具体取决于您的注册商。一些注册商允许您更改 TTL(如果您托管自己的 DNS,您可以完全控制),但请注意,TTL 的更改将占用旧 TTL 的长度来传播。
要了解您的 TTL 设置为什么,请检查您的注册商的控制面板是否显示它。如果没有,则创建一个新的子域 A 记录并运行dig sub.domain.tld
. 在输出中,您将得到如下内容:
;; ANSWER SECTION:
sub.domain.tld. 3600 IN A 11.22.33.44
Run Code Online (Sandbox Code Playgroud)
这表明 TTL 值是一个小时(3,600 秒)。如果您在一分钟后再次执行此操作,您应该看到:
;; ANSWER SECTION:
sub.domain.tld. 3540 IN A 11.22.33.44
Run Code Online (Sandbox Code Playgroud)
这意味着您的本地 DNS 缓存现在将在 59 分钟内重新检查该值。
通过使用这样的新子域,您知道该值尚未缓存,因此您在第一次查询时会看到完整的 TTL。dig
几乎可以在每个 Linux 安装程序中使用(如果未安装,您通常会在“dnsutils”包中找到它)并且可以通过 Cygwin 用于 Windows(如果您不想要更完整的 Cygwin 安装,您可以尝试部分副本像这个只包括 dig、host 和 whois 的。
要记住的一件事是,如果用户的 DNS 缓存最近没有被询问该特定名称,他们将在下一个请求中立即获得新值,因此 TTL 为两个小时,因此在传播期间,您应该期待请求到两个 IP 地址。
如果您控制旧 IP 地址所指向的机器并且它没有运行任何其他网站,您可以安装一个重定向器,例如rinetd
代理连接到新地址。这样,即使是访问旧地址的人也会看到来自新服务器的内容(只是慢了一点)。如果那里托管了其他域,您可以使用 mod_proxy(或您的 Web 服务器的等效项)来实现相同的目的。虽然如果传播周期足够短,您可以用“该站点将在 X 小时内恢复”消息替换该服务器上该站点的所有页面,这显然更容易。
或者,您可以在更改前一两天将 TTL 设置得非常短 - 这样传播延迟无论如何都会很短。我实际上将我的 TTL 永久设置为五分钟。不要将其设置得太短:从技术上讲,TTL 为 0应该意味着“从不缓存此值”,但一些有问题的 DNS 缓存和客户端软件会忽略低于某个值的任何内容并假设更高的值。
归档时间: |
|
查看次数: |
668 次 |
最近记录: |