微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

tomcat 集群设置中的身份验证和会话复制

如何解决tomcat 集群设置中的身份验证和会话复制

我目前有基本的 tomcat 集群设置,Apache httpd 服务器充当负载平衡器(mod_proxy_balancer 模块)

我还启用了粘性会话(在相应的配置文件添加了 addjvmRoute="server1" 和 addjvmRoute="server2")

我在我的网络应用中使用 UAA 进行身份验证。

我能够从 tomcat 的两个并行节点为不同的用户提供服务,但如果其中一个节点出现故障,请求将路由到另一个节点,但这些请求失败并显示错误Access Denied: Insufficient privilages for the user

Tomcat 日志条目 0:0:0:0:0:0:0:1 - - [11/Jul/2021:22:17:02 +0530] "POST /visualization/Query HTTP/1.1" 403 155
httpd 日志条目 10.181.113.122 - - [11/Jul/2021:22:16:32 +0530] "POST /visualization/Query HTTP/2.0" 403 144

我在日志中没有看到任何其他条目

server.xml 中的集群配置

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
        <Manager className="org.apache.catalina.ha.session.backupmanager"
                            expireSessionsOnShutdown="false"
                            notifyListenersOnReplication="true"/>
        
        <Channel className="org.apache.catalina.tribes.group.GroupChannel">
            <Membership className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="45564"
                        frequency="500"
                        dropTime="3000"/>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
            </Sender>
            
            <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                        address="auto"
                        port="4000"
                        autoBind="100"
                        selectorTimeout="5000"
                        maxThreads="6"/>
                    
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
        
            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessagedispatchInterceptor"/>
        
        </Channel>
        
        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
    
        <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
    
        <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        
      </Cluster>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?