URL中的jsessionid的Amazon Load Balancer粘性会话配置

时间:2011-02-23 15:54:03

标签: tomcat amazon-web-services load-balancing jsessionid

我目前正在尝试为Tomcat工作者设置Amazon Load Balancer,但我遇到了一个问题。

我正在使用粘性会话,并且Cookie JSESSIONID可用于大多数请求。但是有些请求在URL中有会话信息,如下所示:

http://myserver.com/contextPath/someAction;jsessionid=BA6853C23F795BD5EEDAEA996E601BB8

它不起作用(并将请求转发给错误的工作人员)。

AWS Load Balancer是否支持网址中的jsessionid?如果不是,可能你知道一些解决方法吗?

使用Apache + mod_proxy_balancer,我可以像这样定义它:

ProxyPassMatch /.* balancer://mycluster stickysession=JSESSIONID|jsessionid 

1 个答案:

答案 0 :(得分:5)

AWS的Elastic Load Balancer不支持基于URL的会话粘性。

请务必检查您是否设置了ELB的粘性政策。

此外,ELB的粘性实际上并没有考虑任何cookie的价值,除了它自己的名为“AWSELB”。当您配置基于cookie的粘性策略时,您实际上正在配置粘性的生存期以遵循指定cookie的生存期 - 但实际的服务器分配由AWSELB cookie。