Application Links 5.1 Documentation
このページではまず、アプリケーション リンクで自動的に診断できる特定の SSL エラーと、それらを修正するために行える操作について説明します。
後半では、アプリケーション リンクと HTTPS を使用したときに発生する可能性があるエラーの特定および修正に役立つ、一般的なトラブルシューティング ガイドを提供しています。
このページの内容
アプリケーションが HTTPS 経由でリモート アプリケーションに接続しようとしましたが、リモート SSL 証明書を信頼できません。
リモート アプリケーションで、自己署名の SSL 証明書や、ローカル アプリケーションで未知の認証局によって発行された証明書を使用している可能性があります。
アトラシアン アプリケーションのログに次のようなエラー メッセージが表示される場合があります。
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
考えられる要因 | 実行可能な対応策 |
---|---|
リモート SSL 証明書の失効 |
|
リモート証明書が信頼済みの認証局から発行されていない (自己署名証明書である可能性がある) |
|
リモート証明書がファイル システムの別の場所に保管されている |
|
アプリケーションが HTTPS 経由でリモート アプリケーションに接続しようとしましたが、リモート SSL 証明書を信頼できません。
証明書のコモン ネームがリモート アプリケーションの URL に一致せず、証明書の詳細が検証できないため、リモート SSL 証明書を信頼できません。証明書の URL は、アプリケーション リンクの構成に使用された URL にも一致している必要があります。
アトラシアン アプリケーションのログに次のようなエラー メッセージが表示される場合があります。
javax.net.ssl.SSLException: hostname in certificate didn't match javax.net.ssl.SSLException: <message>
考えられる要因 | 実行可能な対応策 |
---|---|
リモート証明書のコモン ネームがホスト アドレスの URL に一致しない |
|
アプリケーション ログに次のエラー メッセージが表示される場合があります。
javax.net.ssl.SSLException: hostname in certificate didn't match
javax.net.ssl.SSLHandshakeException
sun.security.validator.ValidatorException: PKIX path building failed
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
詳細な情報については上述のリンクをご利用ください。
このセクションでは、HTTPS (HTTPS over SSL) をアプリケーション リンクと使用した場合に発生する一般的なエラーの特定および修正に役立つ、トラブルシューティング ガイドを提供します。
server.xml
ファイルへのカスタマイズが上書きされた可能性があります。カスタム変更にはリバース プロキシ構成や HTTPS 構成が含まれる場合があります。アップグレード後の server.xml
ファイルがアップグレード前の server.xml
に一致するかどうかを確認します。server.xml
ファイルの場所は、ご利用のアプリケーション、オペレーティング システム、およびインストール先に応じて異なります。
アトラシアン アプリケーションで共通の既定のインストール先は、次のとおりです。
/opt/atlassian/<application-name>
C:\Program Files\Atlassian\<application-name>
C:\Atlassian\<application-name>
アトラシアン アプリケーションのフォルダ構造内の場所:
アプリケーション | server.xml の場所 |
---|---|
Bamboo | <install-path>/conf/ |
Confluence | <install-path>/conf/ |
Crowd | <install-path>/apache-tomcat/conf/ |
Crucible | Fisheye と同様 |
Fisheye | The Fisheye configuration file is config.xml , see Configuring the Fisheye web server and How to enable Fisheye/Crucible to listen to web requests on additional ports. |
Jira アプリケーション | <install-path>/conf/ |
Bitbucket Server 5.0 | なし。 「bitbucket.properties への server.xml のカスタマイズの移行」を参照してください。 |
Bitbucket Server 4.0 〜 4.14 | <Bitbucket home directory> /shared/server.xml |
Stash 3.8 〜 3.11 |
このリリースを利用しているが、上述のディレクトリに インスタンスのアップグレード時の考慮事項をへらすため、 |
Stash 3.7 and earlier | <install-path>/conf/ |
<install-path>
は、システムでのアプリケーションのインストール先です。
アプリケーション間のセキュアな接続を構成するには、2 つの一般的な方法があります。これらのアプローチは、SSL 証明書の保存先と、アプリケーション リンクのセットアップ時に使用されるアプリケーション URL を決定します。
クライアントは SSL 経由でリバース プロキシに接続します。リバース プロキシは非セキュアな接続を経由してアプリケーション サーバーと通信します。
リバース プロキシを使用しないインストールの場合、Tomcat を構成して SSL 接続を許可するようにできます。アプリケーション サーバーでの SSL の終了をリバース プロキシと組み合わせて使用し、リバース プロキシとアプリケーション サーバー間の通信をセキュアに保つこともできます。
アプリケーションに適切なベース URL が定義されていること (http or
https
プロトコルを含む) と、アプリケーション リンクで同じ URL を使用していることを確認します。
SSL 証明書は、次の最小要件を満たす必要があります。
To see details of a certificate, visit the application in your browser and click the padlock in the browser address bar. You can also check SSL certificate details online (for example using https://www.digicert.com/help/.
To check that certificates are present in the Java trust store see Check the SSL certificate location below.
アトラシアンのサーバー製品などの Java アプリケーションは、ファイルシステムの特定の場所で SSL 証明書を見つけることを期待します。
既定では、Java アプリケーションは次の場所にある JRE cacerts
トラスト ストアを使用します。
JAVA_HOME/jre/lib/security/cacerts
ここで、JAVA_HOME
は Java のインストール ディレクトリを指す環境変数です。特定のアトラシアン製品は JRE をバンドルします。この場合、JRE のトラスト ストアが使用されます。
You can specify alternative stores by specifying JVM arguments when starting the application. See this Oracle documentation for further details.
一般に、リモート アプリケーションから証明書をエクスポートし、それをローカル アプリケーションにインポートする必要があります。これは、アプリケーションが別のマシンで実行されている場合や、バンドルされた JVM を使用している場合に一般的な方法です。
keytool
ユーティリティが見つからない場合keytool
は Java Runtime Environment (JRE) とともに提供されます。バンドルされた JRE を持つ製品を使用している場合、keytool を <product-install-path>/jre/bin/keytool
で見つけることができます。