我实现了一个测试环境,用两个需要单点登录的Java应用程序来验证集群密钥披风身份验证服务器。集群中有两个密钥斗篷节点,前面有Apache2 mod_proxy负载均衡器。我遵循了Keycloak文档中的指导方针,一切看起来都很好,Keycloak日志报告缓存被正确启动并同步:
服务器:1 11:28:04,298 INFO org.infinispan.remoting.transport.jgroups.JGroupsTransport ISPN000094:接收到的新集群视图为信道ejb:master:server-one|1主服务器:服务器-1,核素2:服务器-2 11:28:04,306 INFO org.infinispan.remoting.transport.jgroups.JGroupsTransport ISPN000094:接收到的新集群视图为通道ejb: ISPN000094:master:server-one|1主服务器:服务器-1,核素2:服务器-2 11:28:04,318 INFO org.infinispan.remoting.transport.jgroups.JGroupsTransport ISPN000094:接收到新集群视图的通道ejb:master:server-one|1主服务器:服务器-2服务器-2 11:28:04,319 INFO org.infinispan.remoting.transport.jgroups.JGroupsTransport ISPN000094:接收到新的集群视图通道ejb:master:server-one|1主服务器:核素2:服务器-2 11:28:04,321 INFO org.infinispan.remoting.transport.jgroups.JGroupsTransport ISPN000094:master:server-one|1主服务器:服务器-2:server 2:server-2:server-2:server-2
问题是,当使用Tomcat的Keycloak Java适配器从webapp进行身份验证时,我得到了一个403禁忌,并查看了Keycloak日志,我看到了以下错误消息:
服务器:服务器-一个11:33:30,700警告org.keycloak.events type=CODE_TO_TOKEN_ERROR,realmId=test,clientId=customer-portal,userId=null,ipAddress=192.168.10.111,error=user_not_found,grant_type=authorization_code,code_id=889ab790-0c3a-44ea-a1df-247ba501260f,client_auth_method=客户端-机密
似乎这个问题与集群模式有关,因为一切都在独立模式下正常工作。是否有人能够提供集群密钥披风安装的示例,以及外部负载平衡器(如mod_proxy )?
发布于 2022-08-26 13:34:49
设置与nginx入口的会话亲和力可以解决这个问题,但我怀疑这只是一些功能中断的创可贴。我怀疑AuthenticationSessions复制没有正常工作,但我没有看到任何迹象表明它失败了,我也不知道应该在哪里查找,也不知道如何确认它是根本问题。
下面是我在入口上使用的nginx关联设置:
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/affinity-mode: persistenthttps://stackoverflow.com/questions/47221702
复制相似问题