別のアトラシアン アプリケーションにログインすると Confluence からログアウトされる
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*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 - CONF-32589Getting issue details... STATUS .
ソリューション
この競合の解決に次のいずれかを行えます。
オプション 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">
詳細についてはこちらの KB 記事をご確認ください。
オプション 2
- Confluence をシャットダウンします。
で <Context> 要素に sessionCookieName 属性を追加します。<install>/conf/context.xml:
<Context sessionCookieName="CONFLUENCESESSIONID">
注意: "sessionCookieName="CONFLUENCESESSIONID"" は Context タグの内側に追加する必要があります。また、この設定のために新しいタグを作成することはできません。これを行うと Tomcat が正常な起動に失敗します。
3. Confluence のバックアップを開始します。
この手順は Tomcat 6 以降で利用できます。