我在两台应用服务器上托管了我的ASP.NET Web应用程序。在第三台服务器上,我在IIS中使用ARR模块创建了一个服务器场。 Server Farm包括两个应用程序服务器。我在Load Balancing中使用“Round Robin”策略。添加了默认URL重写规则。两个应用程序服务器都可以访问,并且Health Test会为它们传递。
当我使用ARR Web服务器作为主机浏览Web应用程序时,我按预期获得了“登录”页面。如果我尝试在另一个浏览器中浏览相同的内容,它也会显示登录页面。我可以在“监控”工具中看到请求被ARR均匀地发送到两个应用服务器。所以到目前为止负载均衡效果很好。
然而,当我输入凭据并点击登录按钮时,我收到“Err_Too_Many_Redirects”错误,我也看到了Fiddler中的大量呼叫。
有人可以帮忙吗?
请注意,我没有使用HTTPS。如果我使用应用服务器IP地址直接浏览我的应用程序,它们可以正常工作这种“太多重定向”问题只有在它们落后于ARR负载均衡器时才会出现。
答案 0 :(得分:0)
我在我的应用程序中使用cookieless会话。 ARR服务器上的IIS用于为遇到的每个请求生成新的会话ID。因此,对于每个请求,它都用于生成新的会话ID并再次生成新的请求。所以它正在进入那种无限循环。
这SO question和this post给了我一个线索和答案。 在运行ARR的IIS中删除ISAPI筛选器(在ISAPI筛选器功能下)并禁用所有ISAPI扩展(在ISAPI和CGI限制功能下)帮助我解决了这个问题。