単一の Tomcat インスタンスで複数の WebApp を実行しようとしています。私の目標は、特定のポートのルートコンテキストでそれぞれにアクセスできるようにすることです。
http://server:8081
http://server:8082
...
server.xml 内で、それぞれに個別の「サービス」、「コネクタ」、「エンジン」、および「ホスト」エントリを指定しました。最初のアプリにログインした後、2 番目のアプリにログインすると、最初のアプリのセッション情報が失われ、ログアウトされることを除いて、すべて正常に動作しているようです。
server.xml を編集して元のコンテキストで実行すると、たとえば
http://server:8081/jenkins
http://server:8082/jenkins
...
すべてがうまくいくようです。これにより、セッションが別々のコネクタなどを持っている場合でも、両方がルートコンテキストにある場合、セッションが何らかの形で共有されていると信じるようになります。
2 つのインスタンスが同じ jsessionID を共有していることと、一方のインスタンスでログインすると、もう一方のインスタンスが最初の jsessionid を失い、2 番目の jsessionid を引き継ぐことで、実質的に認証が失われることを確認しました。