【问题标题】:How do i host multiple versions of the same site on the same server?如何在同一台服务器上托管同一站点的多个版本?
【发布时间】:2015-02-12 20:15:16
【问题描述】:

我有一个网站,我正在迁移到第 2 版。与大爆炸相反,这是一个交错推出。我打算做的是向新站点发送一定量的流量,其余的向旧版本发送。我不想在负载均衡器上执行此操作(我不想讨论的几个原因,因为它是业务驱动的,而不是技术驱动的)。我的服务器数量有限,因此我不希望将新代码放在专用服务器上。我还想确保 URL 没有差异,以免混淆客户

第二版代码是全新的,不是也不会是第一版代码库的一部分。两者必须隔离。再次;业务驱动,但不可协商。

(例如:他点击http://example.com/somepage,我不想重定向到http://new.example.com/somepage)。

我正在使用 IIS 和 ASP.NET MVC 4.0。我更喜欢基于代码的解决方案(例如 httpmodules 并在查询字符串中添加一些内容),但看不到这是如何工作的。

除了将大量 iRules 放入负载平衡器之外,我很高兴听到任何类型的解决方案,无论是硬件/软件/中间件。

【问题讨论】:

  • 您总是可以放入 URL 重写模块(我知道这很痛苦),然后简单地将 url 重写为 new.example.com/somepage 而最终用户不会意识到 url 正在被重写在引擎盖下。
  • @DavidL 最终将应用程序请求路由和 URL 重写一起使用;反向代理,有规则。还不错,比配置负载均衡器好。

标签: c# asp.net-mvc iis


【解决方案1】:

您可以想象实现此目的的唯一方法是通过负载平衡器。否则,您会遇到一个简单的问题,即单个域不能附加到多个应用程序,并且多个应用程序不能驻留在同一个文档根目录中。您可以使用像new.example.com 这样的子域,但您明确表示您不希望这样。唯一的其他选择是将新应用程序放在旧应用程序的虚拟目录中。然后,您可以保持域相同,但您必须从 http://example.com/somepage 重定向到 http://example.com/new/somepage。此外,旧应用程序的 Web.config 将应用于虚拟目录中的任何其他应用程序,因此必须非常痛苦地确保没有配置渗漏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-05
    • 2017-03-15
    • 2015-05-28
    • 2013-10-15
    • 1970-01-01
    • 2017-02-16
    • 2012-07-30
    • 1970-01-01
    相关资源
    最近更新 更多