我们最近部署了与AM群集一起使用的IS-KM群集。我们按照WSO2官方网站上提供的文档,在AWS实例上分配它,并进行安装和配置。
我们现在遇到的问题与Cookie会话和IS Carbon控制台有关。我们使用ALB将IS-KM节点暴露给Internet。我们在目标组上启用了粘性会话属性,因为在HA上配置WSO2 IS-KM时必须使用它。如果我们在目标组上都有两个实例处于活动状态(ALB应该平衡它们之间的流量),则我们无法登录到Carbon控制台,我们将始终被重定向为登录。
在此问题中,我们检查了IS-KM wso2carbon.log:
TID: [-1234] [] [2020-04-23 08:58:14,215] [9bab1156-3c57-4fdc-876e-c0edf46d4ed5] INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} - 'admin@carbon.super [-1234]' logged in at [2020-04-23 08:58:14,215-0300]
此日志在我们进行的每次登录重试时显示在每个节点上。 我们还注意到,两台服务器都在登录期间正在接收请求,如下所示:
节点1日志:
ALB IP - - [23/Apr/2020:09:03:07 -0300] GET /carbon/admin/index.jsp?loginStatus=true&loginStatus=true&loginStatus=true&loginStatus=true&loginStatus=true&loginStatus=true&loginStatus=true HTTP/1.1 302 - https://domain-name/carbon/admin/login.jsp Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0 0.001
ALB IP - - [23/Apr/2020:09:03:08 -0300] GET /carbon/admin/js/csrfPrevention.js HTTP/1.1 200 4382 https://domain-name/carbon/admin/login.jsp Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0 0.002
节点2日志:
ALB IP - - [23/Apr/2020:09:03:07 -0300] POST /carbon/admin/login_action.jsp HTTP/1.1 302 - https://domain-name/carbon/admin/login.jsp Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0 0.062
ALB IP - - [23/Apr/2020:09:03:07 -0300] GET /carbon/admin/login.jsp HTTP/1.1 200 3431 https://domain-name/carbon/admin/login.jsp Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0 0.003
ALB IP - - [23/Apr/2020:09:03:08 -0300] POST /carbon/admin/js/csrfPrevention.js HTTP/1.1 200 52 https://domain-name/carbon/admin/login.jsp Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0 0.001
如日志所示,登录期间会将请求发送到其他节点。如果我们仅将一个节点放在目标组上,那么一切都会变得很好。
问题是,为什么启用的粘性会话无法正常工作?也许是导致该行为的IS-KM配置上的某些问题?
答案 0 :(得分:1)
我在AWS ALB端配置有误。我在侦听器上配置了粘性会话,但必须在目标组上对其进行配置。 在目标组上配置它后,它就像一个吊饰!