HTTPS の URL で Unicode "非 ASCII" 文字を適切に表示する方法

お困りですか?

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

コミュニティに質問

プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。

このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

症状

ほとんどの場合、HTTP 上の URL は適切に動作するが、HTTPS (over SSL) の場合にうまくいかない。通常はこれにより、HTTPS URL 内の Unicode (非 ASCII) 文字が URL で適切に表示されず、提供されたページで大量のエラーが表示されます。

原因

これは、Jira を実行している Apache Tomcat アプリケーションの conf/server.xml の HTTPS コネクタの定義で useBodyEncodingForURI="true" フラグが定義されていない場合に発生します。このフラグは、Jira の "推奨" ディストリビューションのインストールではデフォルトで設定されていますが、Jira の WAR セットアップの場合はこれが行われていない可能性があります。

ソリューション

  • Jira を実行している Apache Tomcat 環境の conf/server.xml ファイルの次の要素に useBodyEncodingForURI="true" フラグが含まれていることを確認します。これにより、エンコードがリクエストのエンコード方式 (UTF-8) に一致するように強制されます。

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
      maxHttpHeaderSize="8192" SSLEnabled="true"
      maxThreads="150" minSpareThreads="25"
      enableLookups="false" disableUploadTimeout="true"
      acceptCount="100" scheme="https" secure="true"
      clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true"/>
  • あるいは、URIEncoding="UTF-8" フラグを設定できます。これはデフォルトの URL エンコード方式を UTF-8 に設定します。

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
      maxHttpHeaderSize="8192" SSLEnabled="true"
      maxThreads="150" minSpareThreads="25"
      enableLookups="false" disableUploadTimeout="true"
      acceptCount="100" scheme="https" secure="true"
      clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8"/>

     



最終更新日: 2025 年 1 月 9 日

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

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