代码之家  ›  专栏  ›  技术社区  ›  Jay Walker

切换宿主提供程序-在DNS更新之前和之后将用户重定向到新站点

  •  1
  • Jay Walker  · 技术社区  · 15 年前

    我们想切换主机提供商。为此,需要对与我们的域关联的IP地址进行DNS更新。

    内容已经过测试并在新服务器上启动。DNS更新已完成,但在DNS传播之前(可能需要几天),用户无法看到新站点。

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

    我们正在IIS6上运行ASP.net 3.5,并使用ISAPI_rewrite 3.0。

    2 回复  |  直到 12 年前
        1
  •  2
  •   Jay Walker    12 年前

    我们的解决方案(根据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
    

    #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]
    
        2
  •  1
  •   Darryl Hein IrishChieftain    15 年前

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