別のアトラシアン アプリケーションにログインすると Confluence からログアウトされる

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server と Data Center のみ - この記事は、サーバーおよびデータセンター プラットフォームのアトラシアン製品にのみ適用されます。

問題

  • Confluence にログインしたあとに別のアトラシアン アプリケーションにログインすると、Confluence のセッションが失効して再認証が必要になる。
  • Confluence のページを保存すると、次のようなエラーが表示される。
    「セッションの期限が切れました。フォームを再送信するかページを再読み込みしてください。

診断

アプリケーション スタックを同じ 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 によって上書きされています。

製品でのこの処理を改善するための機能リクエストを CONF-32589 - Getting 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">

(info) 詳細についてはこちらの KB 記事をご確認ください。

オプション 2

  1. Confluence をシャットダウンします。
  2. <install>/conf/context.xml:
    で <Context> 要素に
    sessionCookieName 属性を追加します

    <Context sessionCookieName="CONFLUENCESESSIONID">

(info) 注意: "sessionCookieName="CONFLUENCESESSIONID"" は Context タグの内側に追加する必要があります。また、この設定のために新しいタグを作成することはできません。これを行うと Tomcat が正常な起動に失敗します。

3. Confluence のバックアップを開始します。


この手順は Tomcat 6 以降で利用できます。

最終更新日 2019 年 6 月 20 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.