我们正在尝试按照WSO2文档在群集中配置WSO2 API Manager 2.1.0。我们有:
作为前端负载均衡器,我们正在使用NGINX。除了这个方面,一切都很好:
当我尝试登录发布者或商店时,请求被发送到负载均衡器,将请求重定向到密钥管理器。 KM1的日志是:
INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} - 'admin@carbon.super [-1234]'登入[2018-02-01 15:23:15,102 + 0100] {org .wso2.carbon.core.services.util.CarbonAuthenticationUtil}
而在另一个中,日志(KM2)是:
TID:[ - 1234] [] [2018-02-01 15:23:15,165]警告 {org.wso2.carbon.server.admin.module.handler.AuthenticationHandler} - 从IP地址[2018-02-01 15:23:15,0165]进行非法访问尝试 尝试验证对服务LoggedUserInfoAdmin的访问时xxxxx {org.wso2.carbon.server.admin.module.handler.AuthenticationHandler}
最终结果是我无法访问商店或发布商。 如果停止两个KM中的一个,一切正常。 您对我应该如何配置KM或TM有什么建议吗? 非常感谢你
答案 0 :(得分:0)
这种情况正在发生,因为您尚未为密钥管理器启用粘性会话。
有两个呼叫转到密钥管理器,两个呼叫都应该重定向到同一个密钥管理器。在您的情况下,请求以循环方式进行负载平衡。因此,在另一个节点中创建会话时,第二个调用将失败。
https://docs.wso2.com/display/CLUSTER44x/Configuring+NGINX
为什么不建议在生产部署中使用thrift密钥验证
当我们有负载均衡器时,Thrift密钥验证不起作用 前面的关键经理。原因是大多数负载平衡器 无法以会话感知方式路由流量。 因此,在这种情况下,始终建议使用WS密钥 验证客户端。当我们使用Web服务客户端时,我们需要启用一个 负载均衡器级别的粘性会话。而且,我们需要给一个 我们用来处理会话粘性的会话cookie。