信頼済みアプリケーション認証の IPv6 例外
症状
While trying to set up an Application Link between JIRA and Bitbucket Server using Trusted Applications, the following exception is logged in atlassian-bitbucket.log
:
SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.IllegalArgumentException: '0:0:0:0:0:0:0:1%0' is not an IP string literal.
at com.atlassian.ip.InetAddresses.forString(InetAddresses.java:64)
at com.atlassian.ip.IPMatcher.matches(IPMatcher.java:46)
at com.atlassian.security.auth.trustedapps.AtlassianIPMatcher.match(AtlassianIPMatcher.java:51)
at com.atlassian.security.auth.trustedapps.DefaultRequestValidator.validateRemoteRequestIP(DefaultRequestValidator.java:34)
at com.atlassian.security.auth.trustedapps.DefaultRequestValidator.validate(DefaultRequestValidator.java:26)
at com.atlassian.security.auth.trustedapps.DefaultTrustedApplication.checkRequest(DefaultTrustedApplication.java:117)
at com.atlassian.security.auth.trustedapps.DefaultTrustedApplication.decode(DefaultTrustedApplication.java:88)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationFilterAuthenticator.authenticate(TrustedApplicationFilterAuthenticator.java:102)
This happens when trying to view the Source tab on a JIRA issue which displays a HTTP 500 error.
原因
Currently, application links can exhibit some incorrect behavior when IPv6 is enabled due to the way Java deals with IPv6:
ソリューション
Users can force Java to use IPv4 by adding by appending
-Djava.net.preferIPv4Stack=true
toJVM_REQUIRED_ARGS
orJVM_SUPPORT_RECOMMENDED_ARGS
in<Bitbucket Server installation directory>/bin/setenv.sh
Bitbucket Server 5.0+ では setenv と環境変数に変更があります
Bitbucket Server 5.0 以降では setenv.sh
と setenv.bat
が取り除かれています。これらのファイルで設定されていたオプションは、環境変数で設定できるようになりました。環境変数の設定場所は、実行先のオペレーティング システムに応じます。
Linux
When using the atlbitbucket
service on Linux, the environment variables are ignored. You must set the parameters in _start-webapp.sh (or start-bitbucket.sh)
. These values will be read when the service starts.
たとえば、 JVM_SUPPORT_RECOMMENDED_ARGS
を設定するには、ファイルに次の行を追加します。
JVM_SUPPORT_RECOMMENDED_ARGS=-XX:+HeapDumpOnOutOfMemoryError
Windows
Bitbucket Server を実行しているユーザーで、パラメーターを環境変数として設定します。たとえば、JVM_SUPPORT_RECOMMENDED_ARGS
を設定したい場合、それを環境変数として作成して適切な値を割り当てます。Bitbucket Server がスタートアップ スクリプトやサービスを利用して起動する際に、この値が取得および適用されます。