浏览在IIS后面托管的应用程序时出现太多重定向错误ARR负载平衡器

问题描述:

我在两台应用程序服务器上托管了我的ASP.NET Web应用程序。在第三台服务器上,我使用IIS中的ARR模块创建了服务器场。服务器场包含两个应用程序服务器。我在负载均衡中使用“循环”策略。添加了默认的URL重写规则。这两个应用程序服务器都可以访问,并且运行状况测试也通过了它们。浏览在IIS后面托管的应用程序时出现太多重定向错误ARR负载平衡器

当我使用ARR Web服务器作为主机浏览Web应用程序时,我按预期得到了登录页面。如果我尝试在另一个浏览器中浏览同一个东西,它也会在那里显示登录页面。我可以在“监控”工具中看到,请求均由ARR均匀发送到两个应用服务器。所以负载平衡到目前为止效果很好。

但是,当我输入凭证并点击登录按钮时,出现“Err_Too_Many_Redirects”错误,并且我也看到了大量的Fiddler调用。

任何人都可以帮忙吗?

请注意,我没有使用HTTPS。如果我使用应用程序服务器IP地址直接浏览我的应用程序,则它们完美地工作这种“太多重定向”问题只有在ARR负载均衡器后面才会出现。

我在我的应用程序中使用无Cookie会话。 ARR服务器上的IIS用于为其遇到的每个请求生成新的会话ID。因此,对于每个请求,它都会用于生成新的会话Id并再次产生新的请求。所以它进入了一种无限循环。

这个SO questionthis post给了我一个线索和答案。 在运行ARR的IIS中删除ISAPI筛选器(在ISAPI筛选器功能下)并禁用所有ISAPI扩展(在ISAPI和CGI限制功能下)帮助我解决了这个问题。