Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CAS的高可用性配置_Java_Redis_Tomcat8_Haproxy_Cas - Fatal编程技术网

Java CAS的高可用性配置

Java CAS的高可用性配置,java,redis,tomcat8,haproxy,cas,Java,Redis,Tomcat8,Haproxy,Cas,我将CAS 5作为高可用性在Java 8和Tomcat 8上实现,haproxy作为负载平衡器,redis作为票证注册表。对于票务登记,请遵循给出的详细信息。接下来是部署CA,部署在两个Tomcat上,比如T1和T2 haproxy (80) /\ / \ / \ tomcat (T1)

我将CAS 5作为高可用性在Java 8和Tomcat 8上实现,haproxy作为负载平衡器,redis作为票证注册表。对于票务登记,请遵循给出的详细信息。接下来是部署CA,部署在两个Tomcat上,比如T1和T2

                    haproxy (80)
                        /\
                       /  \
                      /    \
            tomcat (T1)    tomcat (T2)
                      \    /
                       \  /
                        \/
                   redis (6379)

          T1 and T2, where CAS was deployed
haproxy形态:

cookie JSESSIONID prefix nocache
server tomcat1 127.0.0.1:1111 cookie t1 check inter 1000
server tomcat2 127.0.0.1:2222 cookie t2 check inter 1000
public String obtainCookieValue(final String cookie, final HttpServletRequest request) {
    final String cookieValue = cipherExecutor.decode(cookie, new Object[]{}).toString();
    ............
当我点击URL时,它连接到T1。我能够登录并创建票证(在T1上进行身份验证,在T2上验证票证)。登录后,如果我关闭T1并注销,它将连接到T2并给出以下错误

调试[org.apereo.cas.web.support.CookieRetrievingCookieGenerator: 141]-java.lang.NullPointerException:null 位于org.apereo.cas.web.support.EncryptedCookieValueManager.ActainCookieValue(EncryptedCookieValueManager.java:35) ~[cas-server-core-cookie-api-5.3.2.jar:5.3.2] 在org.apereo.cas.web.support.CookieRetrievingCookieGenerator.retrieveCookieValue(CookieRetrievingCookieGenerator.java:139) ~[cas-server-core-cookie-api-5.3.2.jar:5.3.2] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.0_251] 在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)~[?:1.8.0_251] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)~[?:1.8.0_251] 在java.lang.reflect.Method.invoke(未知源代码)~[?:1.8.0_251] 位于org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) ~[spring-core-4.3.18.释放。jar:4.3.18.释放] 位于org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:470) ~[spring-cloud-context-1.3.0.RELEASE.jar:1.3.0.RELEASE] 在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上 ~[spring-aop-4.3.18.释放。jar:4.3.18.释放] 位于org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:671) ~[spring-aop-4.3.18.释放。jar:4.3.18.释放] 在org.apereo.cas.web.support.CookieRetrievingCookieGenerator$$EnhancerBySpringCGLIB$$230a627a.retrieveCookieValue()上 ~[cas-server-core-cookie-api-5.3.2.jar:5.3.2] 位于org.apereo.cas.web.flow.logout.TerminateSessionAction.terminate(TerminateSessionAction.java:72) ~[cas-server-support-actions-5.3.2.jar:5.3.2] 在org.apereo.cas.web.flow.logout.TerminateSessionAction.doExecute(TerminateSessionAction.java:54) ~[cas-server-support-actions-5.3.2.jar:5.3.2] 位于org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.0_251] 在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)~[?:1.8.0_251] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)~[?:1.8.0_251] 在java.lang.reflect.Method.invoke(未知源代码)~[?:1.8.0_251] 位于org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) ~[spring-core-4.3.18.释放。jar:4.3.18.释放] 位于org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:470) ~[spring-cloud-context-1.3.0.RELEASE.jar:1.3.0.RELEASE] 在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上 ~[spring-aop-4.3.18.释放。jar:4.3.18.释放] 位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.18.释放。jar:4.3.18.释放] 在com.sun.proxy.$Proxy169.execute(未知源)~[?:?] 位于org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.engine.State.enter(State.java:194) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.engine.Flow.start(Flow.java:527) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.webflow.executor.FlowExecuteImpl.launchExecution(FlowExecuteImpl.java:139) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[?:1.8.0_251] 在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)~[?:1.8.0_251] 在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)~[?:1.8.0_251] 在java.lang.reflect.Method.invoke(未知源代码)~[?:1.8.0_251] 位于org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) ~[spring-core-4.3.18.释放。jar:4.3.18.释放] 位于org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:470) ~[spring-cloud-context-1.3.0.RELEASE.jar:1.3.0.RELEASE] 在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上 ~[spring-aop-4.3.18.释放。jar:4.3.18.释放] 位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.18.释放。jar:4.3.18.释放] 在com.sun.proxy.$Proxy167.launchExecution(未知源)~[?:?] 位于org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264) ~[spring-webflow-2.5.0.RELEASE.jar:2.5.0.RELEASE] 位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatchesATC
cas.tgc.crypto.encryption.key=
cas.tgc.crypto.signing.key=
cas.webflow.crypto.signing.key=
cas.webflow.crypto.encryption.key=