我有一台 Web 服务器,上面运行着两个 .NET 应用。它们在服务器上的设置是 app1.mydomain.com 和 app2.mydomain.com。
我希望能够接收任何发送到 app1.mydomain.com/subfolder 的请求,并使用 ARR 将其重写为 app2.mydomain.com/subfolder。
我在让它在单个服务器上运行方面遇到了困难,并且网络上的所有 ARR 示例似乎都意味着我需要在两个 Web 服务器前面设置另一台专用于 ARR 的服务器。
我尝试在一台 Web 服务器上执行的操作是否可行?如果可以,该如何做?
答案1
我认为您需要隐藏这两个站点。
使 ARR(默认网站)成为唯一监听端口 80 的网站。使其他两个网站只监听不同端口(例如 81 和 82)上的环回(127.0.0.1)。然后,您可以在 ARR 上创建规则以转发到 app2(例如,在 ARR 中创建 2 个服务器场,每个服务器场中有一台服务器)。
答案2
您不需要在这里使用 ARR——只需设置一个 URL 重写即可将请求重定向到正确的应用程序。
如果您不想查看 ARR 的反向代理端,而不是请求路由,则需要全局启用该功能,然后您可以:
- 在 app1.mydomain.com/subfolder 添加虚拟站点
- 添加 Url Rewrite 反向代理规则以命中 app2.mydomain.com/subfolder
请注意,反向代理不能与 Windows 身份验证混合。