別のアトラシアン アプリケーションにログインすると Confluence からログアウトされる
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
問題
- Confluence にログインしたあとに別のアトラシアン アプリケーションにログインすると、Confluence のセッションが失効して再認証が必要になる。
- Confluence のページを保存すると、次のようなエラーが表示される。
「セッションの期限が切れました。フォームを再送信するかページを再読み込みしてください。 - Atlassian applications such as Jira, Confluence use the same JSESSIONID cookie. Realistically a collision will not be encountered in production, since different applications use different domain names/context path.
診断
アプリケーション スタックを同じ URL パス上で実行していて、アプリケーション間の違いはポートのみである。例:
http://localhost:8080 and http://localhost:8090
http://your.domain.com:8080 and http://your.domain.com:8090
原因
アトラシアン アプリケーションは、ログインの成功を JSESSIONID と呼ばれる Cookie としてご利用のブラウザに保存します。ブラウザはこの Cookie をドメインの特定のパスに保管しますが、それがポートに対応していません。上の例では、それぞれのインスタンスがセッションの Cookie を "/" または root パスに保管しています。Confluence の JSESSIONID が別のアトラシアン アプリケーションの JSESSIONID によって上書きされています。
We have an improvement request to better handle this in product tracked under CONFSERVER-32589 - Configure Tomcat so that it has a unique SESSION_COOKIE_NAME to prevent session overwriting for Confluence.
ソリューション
この競合の解決に次のいずれかを行えます。
オプション 1:
それぞれのアプリケーションを別のコンテキスト パス上で実行します。<インストール ディレクトリ>/conf/server.xml を編集し、Context タグを見つけて、path 変数を次のように変更します (再起動が必要)。
Confluence:
<Context path="/confluence" docBase="${catalina.home}/confluence" reloadable="false" useHttpOnly="true">
JIRA:
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">
See this KB article for more details.
オプション 2
- Confluence をシャットダウンします。
で <Context> 要素に sessionCookieName 属性を追加します。<install>/conf/context.xml:
<Context sessionCookieName="CONFLUENCESESSIONID">
NOTE that you must add the "sessionCookieName="CONFLUENCESESSIONID"" inside the Context tag and NOT create a new tag for this setting, otherwise Tomcat will not start correctly.
3. Confluence のバックアップを開始します。
この手順は Tomcat 6 以降で利用できます。