Nuxeo 集群 - 负载均衡器 - 会话复制失败
Nuxeo Cluster - Load Balancer - Session replication failed
我已将 apache2.4 http 负载均衡器配置为:
ProxyPass /nuxeo balancer://sticky-balancer stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://sticky-balancer >
BalancerMember xxxxxxx.40:8080/nuxeo route=nxworker1
BalancerMember xxxxxxx.41:8080/nuxeo route=nxworker2
</Proxy >
ProxyPreserveHost On
在 nuxeo 实例上,我已按照 nuxeo 文档 40 上的建议完成配置:
nuxeo.server.jvmRoute=nxworker1 和 nuxeo.server.jvmRoute=nxworker2 在 41
当其中一个实例因 ex 40 而宕机时,在用户连接并处理它的过程中,它需要再次登录,因为会话
似乎没有为节点 41
复制
大家有什么建议吗?
谢谢
这是预期的:会话是粘性的,没有被复制。如文档中所述,您将需要再次进行身份验证,具体取决于您的配置和体系结构:
The Nuxeo Platform requires all calls to be authenticated. Depending on your architecture, authentication can be stateless (ex: Basic Auth) or stateful (ex: Form + Cookie). Either way, you probably don't want to replay authentication during all calls.
That's why having a session based authentication + session affinity can make sense: you don't have to re-authenticate each time you call the server.
If the session affinity can not be restored, for example because the target server has been shutdown:
- stateless authentication will be automatically replayed (ex: Basic Auth)
- for stateful authentication:
- if you have a SSO this will be transparent
- if you don't have a SSO, user will have to authenticate again.
我已将 apache2.4 http 负载均衡器配置为:
ProxyPass /nuxeo balancer://sticky-balancer stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://sticky-balancer >
BalancerMember xxxxxxx.40:8080/nuxeo route=nxworker1
BalancerMember xxxxxxx.41:8080/nuxeo route=nxworker2
</Proxy >
ProxyPreserveHost On
在 nuxeo 实例上,我已按照 nuxeo 文档 40 上的建议完成配置:
nuxeo.server.jvmRoute=nxworker1 和 nuxeo.server.jvmRoute=nxworker2 在 41
当其中一个实例因 ex 40 而宕机时,在用户连接并处理它的过程中,它需要再次登录,因为会话 似乎没有为节点 41
复制大家有什么建议吗?
谢谢
这是预期的:会话是粘性的,没有被复制。如文档中所述,您将需要再次进行身份验证,具体取决于您的配置和体系结构:
The Nuxeo Platform requires all calls to be authenticated. Depending on your architecture, authentication can be stateless (ex: Basic Auth) or stateful (ex: Form + Cookie). Either way, you probably don't want to replay authentication during all calls.
That's why having a session based authentication + session affinity can make sense: you don't have to re-authenticate each time you call the server.
If the session affinity can not be restored, for example because the target server has been shutdown:
- stateless authentication will be automatically replayed (ex: Basic Auth)
- for stateful authentication:
- if you have a SSO this will be transparent
- if you don't have a SSO, user will have to authenticate again.