我正在使用CAS服务器(veresion 3.4.8)并尝试在HA环境中部署它。我使用memcached作为CAS的ticketRegistry并使用Amazon的ELB进行负载平衡。我完成了{3.4}中针对CAS 3.4.x提到的配置。我还配置了亚马逊ELB必须提供的会话亲和/粘性会话。两个CAS服务器都部署得很好,两个memcached节点(我已经为每个CAS服务器部署了一个memcached节点,并配置了ticketRegistry以使用上面链接中提到的两个),因为部署也很好,当我尝试使用CAS浏览我的应用程序我总是被重定向到CAS的登录页面。当多个用户开始使用它时(大约10到20),问题就开始了。用户有时会进行身份验证并重定向到应用程序,有时同一个用户无法登录。在这两种情况下,TGT和ST都是在CAS服务器中创建的,但是当通过CAS(通过浏览器)将ST发送到应用程序时,ST永远不会返回CAS进行验证,并且用户被重定向到以下的URL。应用。 https://wiki.jasig.org/display/CASUM/MemcacheTicketRegistry(我们使用带有spring security cas / core的grails应用程序),状态为404.这在CAS重定向到带有服务票据的应用程序后发生。 https://my.application.that.uses.cas/login/authfail?login_error=1。
当我关闭其中一个EC2实例时,所有用户每次都开始进行身份验证。这也适用于代理票据,因为我们将其用于Web服务身份验证。有时,代理票证会被创建和验证,有时它不会在该用户的同一会话中。我在这里错过了什么吗?这看起来像是与memcached相关的问题还是看起来像负载均衡器问题?任何帮助将非常感谢!
注意:我已在MemCacheTicketRegistry bean中将TGT到期时间配置为2小时,ST到期时间为10秒,并使用以下命令启动memcaced memcached -d -u myUserName -m 512 -p 11211 0.0.0.0
谢谢,