【问题标题】:How to convert multiple web sites hosted on IIS to Azure web sites如何将 IIS 上托管的多个网站转换为 Azure 网站
【发布时间】:2013-08-10 05:50:37
【问题描述】:

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

例如,我现在有如下所示的 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 个,显然一个应用程序中的故障会影响其他 2 个。

有没有其他人走这条路并解决了它?如果答案是启动虚拟服务器,我可能会留在原地。

【问题讨论】:

    标签: azure


    【解决方案1】:

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

    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 相比,这种方法的主要好处是除了子域(例如 www. contoso.com)。”

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

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

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

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

    【讨论】:

    • 非常好的答案。我需要尝试其中的一些想法,看看像 session 这样的事情会如何持续下去,以及我将如何实施 4 或 5。谢谢。
    • 你能详细说明第4点,反向代理吗?我面临着类似的情况:我想让 foo.com/bar 重定向到 bar.foo.com。这可以通过共享(或标准)Azure 网站实现,我想了解反向代理是否可以让我继续使用 foo.com/bar 提供来自(免费)bar.azurewebsites.net 的内容。
    • 我给了你答案,因为它是直接问题的直接答案。但是,既然 Azure 支持网站的虚拟应用程序和目录,我什至不需要再走这条路了。感谢您抽出宝贵的时间并为原始答案提供帮助!
    猜你喜欢
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2015-08-16
    • 2019-10-22
    相关资源
    最近更新 更多