ARR请求无法路由,因为它已达到Max-Forwards限制.服务器可以在请求路由拓扑中自引用自身

use*_*574 6 arr

我有两个安装了IIS 7.5的Windows 2008 R2 Standard Server(Server1和Server2).在Server1上,我安装了Web Farm Framework 2.2并创建了服务器Farm"myFarm.com".我还在Server1上安装了ARR.

在服务器场中,我已将Server2和Server1添加为辅助服务器.我已使用默认选项配置ARR.负载均衡配置为"循环,以便请求可以随机发送到两个服务器.

为了测试我的设置,我创建了一个Test.ASPX页面并将其部署在两个服务器中.这是一个简单的页面,它返回执行服务器页面的serverName.这样我就知道负载平衡是否有效.

然后我打开了Internet Explorer,并试图从托管Web Farm和ARR的server1浏览我的Test.ASPX页面.每次我点击页面请求只进入Server2.我让我的server2在webfarm中运行不健康,检查Server1是否处理了请求.当我试图在浏览器中点击Test.aspx时,我很惊讶地添加了以下错误:

请求无法路由,因为它已达到Max-Forwards限制.服务器可以在请求路由拓扑中自引用自身.

从错误消息中可以看出,当我的server2不可用时,ARR正在向Server1发送请求,Server1再次将请求发送给自身,从而导致环回.我找不到阻止这种环回的方法.

我在搜索后找到的解决方案之一是我不应该将Web1添加到Web场,因为它托管ARR,但我只有两台服务器,我不想只为ARR使用一台服务器.

一旦我标记我的server2健康请求开始由server2执行.

有人可以建议应该配置什么来解决此错误?

谢谢

Céd*_*vin 5

如果您在端口 80 上配置 ARR 并在另一个端口(例如 8080)上配置 Web 场,则可以执行自引用 ARR 并避免获得最大转发限制

因此,当 ARR 将请求路由到自身时,他将在另一个端口上执行此操作,因此避免转发和再次转发请求。

享受 :-)

  • 你好,请问我该如何一步一步地做到这一点?谢谢 (2认同)

old*_*bam 5

我最近遇到了同样的问题,这是对我有帮助的配置(遵循塞德里克在另一篇文章中的建议)。

因此,您可以执行以下操作:

  • 在您的网站配置中,为 Server2 添加额外的绑定,例如端口 88(即您应该能够通过导航到 来获取响应http://Server2:88/Test.ASPX)。
  • 在您的服务器场配置中,向路由添加条件(路由规则 -> URL 重写)以避免处理前往端口 88 的请求:

URL重写配置