3

我有通过负载均衡器启动并路由到权重最小的 Tomcat 服务器进行处理的客户端请求。

当客户端访问目标 Tomcat 服务器时,对客户端的响应包含用于第二个请求的绝对 URL。这基本上消除了负载均衡器,以允许客户端在客户端会话的生命周期内直接与 Tomcat 实例通信。

ISSUE:问题是通过负载均衡器的第一个请求正在创建一个 SESSION,然后直接向 Tomcat 的第二个请求为单个客户端创建了第二个 SESSION。第一个 SESSION 只是未使用并最终到期。

问题:如何在第二个请求上连接客户端,回到在第一个请求上创建的 SESSION(通过负载均衡器)?

更新: 我在 JMeter 中对此进行了测试,但连接会话没有任何运气。

要求一:

http://loadbalancer:80/page1.jsp

响应头:

Set-Cookie: JSESSIONID=070894D435A46DF60AFE506018018325; Path=/

那么第二个请求是:

http://directTomcat:8080/page2.jsp?token1=123&token2=xyz;JSESSIONID=070894D435A46DF60AFE506018018325

[no cookies]

第二个响应标头:

Set-Cookie: JSESSIONID=1081A016CBA9B3AA7E7C38EF775C04F7; Path=/

我也试过:

http://directTomcat:8080/page2.jsp?token1=123&token2=xyz&JSESSIONID=070894D435A46DF60AFE506018018325

但这也不起作用。

在发出第二个请求之前,是否需要在客户端将 JSESSIONID 设置为 cookie?

4

0 回答 0