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

お困りですか?

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

コミュニティに質問

症状

ほとんどの場合、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"/>

     

 

 

最終更新日: 2016 年 2 月 26 日

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

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