1

我们想更换托管服务提供商。为此,需要对与我们的域关联的 IP 地址进行 DNS 更新。

内容已经过测试并在新服务器上提供。已进行 DNS 更新,但用户无法看到新站点,直到 DNS 传播(可能是几天)。

是否可以在旧服务器上执行某些操作,以便在收到请求时可以转发/重定向到新服务器,从而消除“DNS 停机时间”?

我们在带有 ISAPI_rewrite 3.0 的 IIS6 上运行 ASP.net 3.5。

4

2 回答 2

2

我们的解决方案(根据 Darryl 的建议 - 但这信息太多,无法评论)

我们使用ISAPI_Rewrite 3.0,它是一种出色且低成本的 url 管理工具,因此该解决方案是针对该产品量身定制的,但从概念上讲应该适用于其他环境。

DNS(用于 mydomain.com)

A   newsub    newIP   #(new record)
A   existing  newIP   #(updated IP)

新主机上站点的 IIS 配置:

Add newsub as a hostheader on site

.htaccess 用于新主机上的站点

#add as first rule. trap requests for new subdomain and redirect to existing
#ASSUMES that redirect to existing is now safe because DNS for existing
#was updated when newsub DNS was queried.
#otherwise this is going to be an endless loop of 
#redirects between the old and new server
RewriteCond %{HTTP_HOST} ^newsub\.
RewriteRule ^(.*)$ http://existing.mydomain.com/$1 [R=302, L]

.htaccess 用于旧主机上的站点

#add as first rule. redirect all requests to new subdomain
RewriteCond %{HTTP_HOST} ^existing\.
RewriteRule ^(.*)$ http://newsub.mydomain.com/$1 [R=302, L]
于 2009-08-10T19:17:15.280 回答
1

您可以设置一个单独的子域,将旧服务器上的用户重定向到该域,并让新服务器接受来自该子域的请求。新的子域(A 记录)的传播速度应该比更改快得多。一旦 DNS 完全传播,您就可以将该子域/A 记录重定向到常规地址。

于 2009-08-10T18:25:06.430 回答