如何将IIS上托管的多个网站转换为Azure网站

时间:2013-08-08 13:30:23

标签: azure

我目前与其他提供商有VPS。在那个VPS上,我运行了多个应用程序池和网站的IIS。我想退出“服务器管理业务”,因此Azure网站(预留)似乎非常适合。我能够设置Azure网站,包括自定义域名。我似乎无法弄清楚的问题是如何获得我目前在VPS上的相同URL和行为。

例如,我现在的网址看起来像这样:

  • www.foo.com/bar
  • www.foo.com/baz
  • wildcard.foo.com/bla

我无法在Azure中找到模仿它的方法。

我曾经想过/尝试的事情:

  • 使用一个Azure网站并在Azure中拥有单独的虚拟目录/应用程序池,但谷歌搜索告诉我不支持。
  • 创建3个Azure网站,每个网站都有一个。我看到的问题是我需要更改为使用bar.foo.com,baz.foo.com和bla.foo.com/wildcard(即丢失通配符子域映射和返工事项以获得自定义路由结束)。
  • 也许有一个带有重写URL的Azure网站?我认为我遇到的问题是它全部运行在一个应用程序池中,因此部署一个部分将影响所有3个,显然一个应用程序中的错误会影响另一个应用程序。

有没有其他人走过这条路并解决了它?如果答案是旋转虚拟服务器,我可能会留在我所在的位置。

1 个答案:

答案 0 :(得分:3)

考虑到www.foo.com/bar,www.foo.com/baz和wildcard.foo.com/bla是3个共享域名的独立网络应用程序(foo.com):

  1. 为每个Web应用程序创建一个Windows Azure网站。您不一定需要为它们分配自定义域名。

  2. 创建另一个单独的网站,并使用A记录为其分配* .foo.com域。有关说明,请参阅Configuring a custom domain name for a Windows Azure web site。如记录所示,“使用A记录,您将域(例如contoso.com或www.contoso.com)或通配符域(例如,* .contoso.com)映射到部署中的部署的单个公共IP地址。 Windows Azure网站。这种方法相对于使用CNAME的主要好处是,您可以映射根域(例如contoso.com)和通配符域(例如,* .contoso.com),以及子域(例如,www。 contoso.com)“。

  3. 在此“主”网站中,设置URL重定向(可能使用状态码307临时重定向),以便请求转到相应的应用程序。

  4. 或者,为避免重定向导致的额外请求延迟,请将“master”网站设置为反向代理,将请求透明地转发给“内部”Web应用程序并将响应发送回用户。

  5. 作为另一种选择,使用自定义DNS服务在DNS层进行路由。

  6. 这样,每个Web应用程序都是独立的,您可以解决将请求路由到相应应用程序的问题。