我们将一个web应用程序部署到在IIS 7.5 Windows Server 2008R2中运行的多个服务器上,每个服务器都具有相同的配置,并且流量由Big-IP负载均衡器定向。
IIS应用程序池的空闲超时和web应用程序会话状态超时均设置为35分钟,并且在每台服务器上应用了相同的设置。我们有一个超时页面,当用户空闲时间达到35分钟时显示超时错误。
然而,我们的用户得到了Access Denied. Action not authorized!的运行时错误。通过将应用程序池空闲超时值设置为比应用程序会话状态超时值更短的时间,我们可以在测试环境中重现此错误。因此,运行时错误似乎是因为应用程序池在会话超时之前超时。
我怀疑Big-IP的持久化会话空闲超时设置被设置为较短的时间段,并触发Big-IP使用户会话超时。有人知道如何检索此会话空闲超时值以及如何将其设置为自定义值吗?
发布于 2014-08-30 23:41:40
这是一个古老的问题,但它是负载平衡网站的常见问题。有两个设置需要注意,这可能会导致此问题。
第一个是实际的持久化超时。您可以在Big-IP上检查给定站点的持久性设置,方法是选择适当的虚拟服务器,然后转到资源选项卡。检查默认持久性配置文件的值。然后在Local Traffic > Profiles > Persistence下查看此特定配置文件对应的超时。
另一件需要检查的事情是TCP空闲超时。默认情况下,这是5分钟,因此它通常会终止长时间运行的数据库事务。要找出这是什么设置,在虚拟服务器下,检查协议配置文件。然后转到本地流量>配置文件>协议> TCP,并在配置文件中查找空闲超时。
https://stackoverflow.com/questions/18661824
复制相似问题