我之前问过这个问题,我已经知道如何使用 ISA Server 2006 来实现此功能,我现在的问题是如何在不使用 ISA Server 而仅使用纯 IIS 的情况下实现相同的功能。有人有什么想法吗?
我的开发/部署环境是 IIS + Windows Server 2003/2008 + .Net + VSTS2008 + C#。我有多个网站,每个网站都有稳定版和测试版,例如,我有测试版订单系统和稳定版订单系统,采购系统也是如此。我将这 4 个系统部署在 4 台不同的物理机器上(机器名称为 labvm1、labvm2、labvm3 和 labvm4)。
我的要求是,我希望有一个通用的 URL 模式来访问不同的系统,例如,
http://www.mycorp.com/order/beta
http://www.mycorp.com/order/stable
http://www.mycorp.com/purchase/beta
http://www.mycorp.com/purchase/stable
但由于这 4 个系统部署在 4 台不同的物理机器上,并且具有不同的机器/DNS名称,我该如何映射同一个域(http://www.mycorp.com) 以不同的后缀映射到不同的物理在线系统?
提前致谢,乔治
答案1
我认为这可以通过负载平衡来实现,但实现起来看起来有点麻烦。
理论上你也可以编写一个 ISAPI 请求转发器,或者购买一个重寫編程。
我建议只进行 IIS 重定向,这样用户就可以输入漂亮的 URL 到达那里,然后他们会被重定向到相应的机器。或者框架,我想,是另一种选择。
答案2
取决于你的要求...
如果您对 IIS 的一个实例执行代码并提供页面感到满意,请使用虚拟文件夹。否则,您必须使用像 ISAPIRewrite 这样的 URL 重写器。
答案3
Ionic 重写是一个免费的 URL 重写器,效果很好...我已经在 IIS 上运行的许多 Drupal 站点中使用过它...
答案4
Ionic 的 ISAPI 重写(IIRF) 是一款适用于 IIS 的优秀 URL 重写器(而且免费),但听起来 OP 想要一个 HTTP 代理。IIRF 可以进行重写或 HTTP 反向代理。您需要 IIRF 2.0 版才能获得代理功能。