我正在Spring -MVC项目中工作,该项目部署在Weblogic服务器中,它配置了2个集群。我们得到"401 (Unauthorized)"
当请求从一个集群到另一个集群时发生错误。
但它适用于某些请求,有时会导致此错误。
知道为什么会发生这种情况吗?
最佳答案
如果您将安全性委托(delegate)给 Servlet 容器并将您的应用程序部署到 2 个不同的集群(ClusterA、ClusterB),默认情况下您将拥有两个不同的 session SessionA 和 SessionB(具有相同的 cookie 名称 JSESSIONID )。如果您没有 session 关联性并且您的请求从 ClusterA 跳转到 ClusterB,则您的 SessionA(带有主题)在 ClusterB 上将无效。
如果您正在寻求两个集群拓扑的最大可用性,请考虑将 HTTP session 状态委托(delegate)给 Coherence(请参阅 http://docs.oracle.com/middleware/1212/coherence/COHCW/cweb_wls.htm#CHDDGJHJ 处的 Coherence*Web)。
通过此拓扑,您可以在部署在不同集群(甚至不同的 WebLogic Server 域和/或不同的应用程序服务器)上的许多应用程序之间共享 session 。
关于java - Weblogic集群401(未授权),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24862795/