Jira サーバーが http.nonProxyHosts JVM オプションを無視する
プラットフォームについて: 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 は除く
問題
-Dhttp.proxyHost
JVM 引数を使用して、Jira アプリケーションでアウトバウンド プロキシを使用するように設定した場合、Crowd などの他のサービス連携がプロキシをバイパスせず、接続に失敗する。これは、-Dhttp.nonProxyHosts
の設定内容に問題がないように見受けられる場合にも発生します。
Windows 環境の場合、setenv.bat の -Dhttp.nonProxyHosts
にパイプ文字 "|" が使用されていると、Jira を開始することができません。
原因
この問題にはいくつかの原因が考えられます。
(Unix / Linux のみ): パイプ文字 "|" がシェル パイプラインに変換されないよう、バックスラッシュ "\" でエスケープする必要がある。
-Dhttp.nonProxyHosts=*.atlassian.com\|localhost
(Windows のみ): "^" を使用してパイプ文字 "|" をエスケープできないため、続くホストが内部または外部コマンド、操作可能なプログラム、またはバッチ ファイルとして認識されていない。
-Dhttp.nonProxyHosts=*.atlassian.com^|localhost
値はかっこで囲み、かつエスケープする必要があります。たとえば次の例は、バックスラッシュ文字が値の一部として渡されるため、動作しません。
-Dhttp.nonProxyHosts="*.atlassian\|localhost"
(Jira version < 4.3 のみ): Jira アプリケーションの lib ディレクトリに
xfire-aegis-1.2.6.jar
とxfire-core-1.2.6.jar
が含まれているが、いずれの jar ファイルにも、JVM プロキシ オプションのコントローラであるtransport.http.ProxyUtils
クラスが含まれていない。この問題 (JRA-20715) は Jira 4. 3 で修正されています。
回避策
エスケープについての問題のため、setenv.bat または setenv.sh で
-Dhttp.nonProxyHosts
を定義することは推奨されません。<JIRA_Install>/conf/catalina.properties
で次のように設定することをおすすめします。http.nonProxyHosts=*.atlassian.com|localhost
- 値にクォーテーション マークが含まれていないことを確認します。
Jira 4.3 以前をご利用の場合: