我希望的情况:
- www.my-example-server.com - 该服务器来自服务器 1 (IIS 7.5)
- www.my-example-server.com/子文件夹- 这个应该来自服务器 2 (IIS 7.5)
如果是不同的(子)域,我知道如何执行此操作,但如果是子文件夹,我就不知道了。
我的问题:
是否可以使用 Windows 机器和/或某些 DNS 配置来设置这样的配置?
更新 1:
请假设服务器 1 和服务器 2 根本没有关系,即服务器 1 可能位于与服务器 2 不同的数据中心。
我的目标是从托管低容量应用程序的主域中切断一些高容量应用程序(在“子文件夹中”)。
更新 2:
由于旧版应用程序需要向服务器发送 POST,因此我必须提供现有的文件夹结构(并且无法重定向 POST),我更喜欢对最终用户透明的解决方案。
答案1
如果您想将工作负载分散到不同的服务器,我建议使用子域,而不是子文件夹。
只需为域名创建 A 记录。
前任:
A www 1.2.3.4
A app1 1.2.3.5
这将使 www.mydomain.com 指向 1.2.3.4,而 app1.mydomain.com 指向 1.2.3.5。
您可能需要在 IIS 中创建一个转发器(服务器管理器 > 角色 > IIS > HTTP 重定向)来转发来自旧应用程序的流量。
答案2
是的,这是可能的,并且您根本不需要对 DNS 采取任何措施;在 IIS 中,您可以让虚拟目录(或站点的主目录)指向网络共享。
您只需将目录(或站点)的路径设置为共享的 UNC 路径(\\servername\share
),而不是使用 Web 服务器上的本地路径。
答案3
纯粹在 IIS 中执行此操作会很麻烦;当然,在 Apache 中这很简单。
如果您可以使用前端 apache 代理指向两个后端服务器,则可以廉价而简单地解决这个问题;只需为您希望推送到任一后端的位置设置代理即可。