負荷分散ソリューションとして、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="/">
ただし、JSESSIONID
Cookie が と の間で共有されることがありますがen.mydomain.com
、en.alpha.mydomain.com
これは想定外です。
この問題を解決するにはどうすればよいですか? 異なるレベルのサブドメインでCookie を共有しないでください。
2) 上記の質問の Cookie を更新しようとしましJSESSIONID
たが、失敗しました。Tomcat JSP の場合:
session.invalidate();
session = request.getSession(true);
out.print(session.getId());
JSESSIONID
Cookie は、この Tomcat JSP に直接アクセスすると更新されますが、そのプロキシ Apache にアクセスするときは同じままです。Apache URL にアクセスして Cookie の更新mod_proxy
をサポートするように変更する必要がありますか?JSESSIONID