DNS 在计划维护期间重定向到维护页面 - Google 索引会发生什么?

DNS 在计划维护期间重定向到维护页面 - Google 索引会发生什么?

我们计划进行一次维护,这可能会使服务中断一整天。因此,我想显示一个维护页面,解释问题并提供其他信息/链接。在此期间,机器将完全停机,所以我想我们只能通过 DNS 来管理任何重定向。

我理解典型的程序是:

降低 TTL(至少提前一天,或 48 小时)更改 DNS 以指向托管维护页面的服务器 迁移完成后,将 DNS 更改为新的,最终的,服务器更改 TTL 恢复正常 现在,我的问题是关于第 2 点:当我们这样做时,谷歌会发生什么?我们应该重定向到新域名(例如:mantainance.example.com),还是将基本域名指向新服务器?我相信我们还应该返回一个 503 标头来告诉谷歌我们正在维护中。在哪里完成这个?

谢谢

我查看了现有线程但找不到任何具体内容

答案1

无法保证您设置的 DNS TTL 范围内的所有客户端都会获取 DNS 记录的更改。

理想情况下,您使用负载平衡器完全透明地显示维护页面,而不是没有任何 DNS 更改的正常 Web 服务器。

在没有负载均衡器的情况下:

如果可以的话,请不要更改 DNS 记录和 IP 地址,example.comwww.example.com考虑在维护期间将生产服务器使用的当前公共 IP 地址临时分配给其他服务器。

该切换完全由您控制,并且通常比 DNS 更改更快。

当您不能时,请不要犹豫,更改 DNS。


在临时托管的 Web 服务器上example.comwww.example.com您可以:

  • 配置 Web 服务器,使其对所有请求的资源和页面返回临时错误代码。因此,不要返回 HTTP 状态 200,而是返回自定义 HTTP503“暂停服务” 错误页面;最好带有标题Retry-after: time-stamp-when-maintenance-is-complete并且以格式良好的页面向人类访问者传达相同的信息。

这会让所有浏览器、索引器和访问者清楚地知道当前内容不是您的实际网站。

  • 或者配置一个暂时的全部重定向到例如maintenance.example.comHTTP302响应和临时重定向不应被浏览器缓存,也不应被索引。
    维护后,删除该重定向,你应该没问题

两者都可以在你的网络服务器中配置;语法当然取决于网络服务器:

对于 apache httpd,创建一个子目录,用于存储自定义 503 维护页面、css、图像等,并将该子目录从整体维护中排除,并使用重写规则触发其他所有内容的 503 响应:(未经测试)

<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com
  Alias "/planned/maintenance/" "/path/to/maintenance-content/"  
  ErrorDocument 503 /planned/maintenance/index.html

  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/planned/maintenance/
  RewriteRule .* - [R=503,L]
<VirtualHost>

相关内容