負荷分散ソリューションとして、1 つの Apache HTTPD と複数の Tomcat を使用しています。JSESSIONIDセッション スティッキーはCookieに基づいています。本当にあなたの助けが必要な質問が 2 つあります。
1) Tomcat のバージョンは 7 で、Cookie はサブドメインと共有できます。ドメインは次のようになります。
- en.mydomain.com
- es.mydomain.com
- it.mydomain.com
で構成context.xml
<Context sessionCookieDomain=".mydomain.com" sessionCookiePath="/">
一方、サブサブドメインを持つステージング環境があり、以下のドメイン間で Cookie を共有することもできます。
- en.alpha.mydomain.com
- es.alpha.mydomain.com
- it.alpha.mydomain.com
で設定context.xml:
<Context sessionCookieDomain=".alpha.mydomain.com" sessionCookiePath="/">
ただし、JSESSIONIDCookie が と の間で共有されることがありますがen.mydomain.com、en.alpha.mydomain.comこれは想定外です。
この問題を解決するにはどうすればよいですか? 異なるレベルのサブドメインでCookie を共有しないでください。
2) 上記の質問の Cookie を更新しようとしましJSESSIONIDたが、失敗しました。Tomcat JSP の場合:
session.invalidate();
session = request.getSession(true);
out.print(session.getId());
JSESSIONIDCookie は、この Tomcat JSP に直接アクセスすると更新されますが、そのプロキシ Apache にアクセスするときは同じままです。Apache URL にアクセスして Cookie の更新mod_proxyをサポートするように変更する必要がありますか?JSESSIONID