Jira Server の起動が Tomcat の構成ミスのエラーによって失敗する

お困りですか?

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

コミュニティに質問

This article requires fixes

This article has been Flagged for fixing. Use caution when using it and fix it if you have Publisher rights.

After upgrading Apache Tomcat to version 8.5.32 (see JRASERVER-68058 - Getting issue details... STATUS ), we’ve added new properties to the server.xml file that allow Tomcat to accept requests with special characters. Depending on the version you’re upgrading from, you might need to add these properties to your server.xml file.

症状

ご利用の server.xml ファイルでこれらの構成プロパティが不足している場合は次のような問題が発生します。 

  • 詳細検索パネル (JQL) が表示されない
  • Jira で特定のページへのアクセスに失敗する (404 エラー)
  • Jira の起動時にエラーが表示され、起動が完了しない
  • Tomcat の構成ミスに関するエラーがログ ファイルに記載されている 

影響バージョン

  • Jira をゼロからインストールしている場合、新しい server.xml ファイルには適切なプロパティが含まれるため、ご利用のバージョンにかかわらずそのまま進めてかまいません。
  • Jira 7.12.1 以前からそれ以降の任意のバージョンにアップグレードする場合、古い server.xml ファイルを新しいバージョンに単純にコピーするのではなく必須プロパティを追加するようにしてください (後述)。

問題の詳細

Jira で利用される web サーバーである Apache Tomcat サーバーは、特殊文字を含むリクエストを除外しています。これは、Tomcat がほとんどのブラウザとは異なるエンコーディングおよび URI 標準を採用しているためです。この問題は、多くの特殊文字 ([]<> など) を使用する JQL 検索でもっともよく見られますが、Jira の他のページにも影響を与える可能性があります。

詳細については Apache Tomcat 8.5 http ドキュメントもご確認ください。 

relaxedPathChars:

The HTTP/1.1 specification requires that certain characters are %nn encoded when used in URI paths. Unfortunately, many user agents including all the major browsers are not compliant with this specification and use these characters in unencoded form. To prevent Tomcat rejecting such requests, this attribute may be used to specify the additional characters to allow. If not specified, no additional characters will be allowed. The value may be any combination of the following characters: " < > [ \ ] ^ ` { | } . Any other characters present in the value will be ignored.


ソリューション

  1. <Jira-installation-directory>/conf に移動し、server.xml ファイルを編集します。
  2. アプリケーションで使用中のすべてのコネクタを見つけます。ファイルで Connector を検索するか、以下の例をご覧ください。ここでは、プロトコルが HTTP または HTTPS に設定されているコネクタのみが必要です (AJP は不要)。
  3. server.xml のプロパティで、すべての HTTP\S コネクタに relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"  を追加します。
    例:

    <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>

    (info) 上記の例では、アプリケーションでポート 8080 が利用されていると見なしています。ご利用の構成によっては別のコネクタに変更を適用する必要がある場合があります。

  4. Jira を再起動します。
  5. (Data Center) これらの手順を各ノードで繰り返します。


最終更新日: 2022 年 2 月 11 日

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

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