4.2. AMQ 管理コンソールへのローカルおよびリモートアクセスの設定
このセクションの手順では、AMQ 管理コンソールへのローカルおよびリモートアクセスを設定する方法を説明します。
コンソールへのリモートアクセスには、以下の 2 つの形式を使用できます。
- ローカルブローカーのコンソールセッション内では、Connect タブを使用して別のリモートブローカーに接続します。
- リモートホストから、ローカルブローカーの外部からアクセスできる IP アドレスを使用して、ローカルブローカーのコンソールに接続します。
前提条件
-
少なくとも AMQ Broker 7.1.0 にアップグレードする必要があります。このアップグレードの一環として、
jolokia-access.xml
という名前のアクセス管理設定ファイルをブローカーインスタンスに追加します。アップグレードの詳細は、Upgrading a Broker instance from 7.0.x to 7.1.0 を参照してください。
手順
-
<broker_instance_dir>/etc/bootstrap.xml
ファイルを開きます。 web
要素内で、Web ポートはデフォルトでlocalhost
にのみバインドされていることを確認します。<web path="web"> <binding uri="http://localhost:8161"> <app url="redhat-branding" war="redhat-branding.war"/> <app url="artemis-plugin" war="artemis-plugin.war"/> <app url="dispatch-hawtio-console" war="dispatch-hawtio-console.war"/> <app url="console" war="console.war"/> </binding> </web>
リモートホストからローカルブローカーのコンソールへの接続を有効にするには、Web ポートバインディングをネットワーク到達可能なインターフェイスに変更します。以下に例を示します。
<web path="web"> <binding uri="http://0.0.0.0:8161">
上記の例では、
0.0.0.0
を指定することで、Web ポートをローカルブローカーの すべてのインターフェイスにバインドします。-
bootstrap.xml
ファイルを保存します。 -
<broker_instance_dir>/etc/jolokia-access.xml
ファイルを開きます。 <cors>
(Cross-Origin Resource Sharing) 要素内に、コンソールへのアクセスを許可する各 HTTP origin リクエストヘッダーにallow-origin
エントリーを追加します。以下に例を示します。<cors> <allow-origin>*://localhost*</allow-origin> <allow-origin>*://192.168.0.49*</allow-origin> <allow-origin>*://192.168.0.51*</allow-origin> <!-- Check for the proper origin on the server side, too --> <strict-checking/> </cors>
上記の設定では、以下の接続が許可されるように指定します。
ローカルホストからコンソールへの接続 (つまり、ローカルブローカーインスタンスのホストマシン)。
-
最初のアスタリスク (
*
) ワイルドカード文字では、セキュアな接続にコンソールを設定したかどうかに基づいて、http
またはhttps
スキームのいずれかを接続要求で指定できます。 - 2 つ目のアスタリスクワイルドカード文字を使用すると、ホストマシン上の任意のポートを接続に使用できます。
-
最初のアスタリスク (
-
ローカルブローカーの外部からアクセスできる IP アドレスを使用して、リモートホストからローカルブローカーのコンソールへの接続。この場合、ローカルブローカーの外部からアクセスできる IP アドレスは
192.168.0.49
です。 -
別のリモートブローカーで開いたコンソールセッション内からローカルブローカーへの接続。この場合、リモートブローカーの IP アドレスは
192.168.0.51
です。
-
jolokia-access.xml
ファイルを保存します。 -
<broker_instance_dir>/etc/artemis.profile
ファイルを開きます。 コンソールのConnectタブを有効にするには、
Dhawtio.disableProxy
引数の値をfalse
に設定します。-Dhawtio.disableProxy=false
重要コンソールがセキュアなネットワークに公開されている 場合のみ、コンソールからのリモート接続を有効にすることが推奨されます (つまり、
Dhawtio.disableProxy
引数の値をfalse
に設定)。Java システム引数の
JAVA_ARGS
リストに、新しい引数Dhawtio.proxyWhitelist
を追加します。コンマ区切りリストとして、ローカルブローカーから接続するリモートブローカーの IP アドレスを指定します (つまり、ローカルブローカーで実行しているコンソールセッション内の Connect タブを使用)。以下に例を示します。-Dhawtio.proxyWhitelist=192.168.0.51
上記の設定に基づいて、ローカルブローカーのコンソールセッション内の Connect タブを使用して、IP アドレスが
192.168.0.51
の別のリモートブローカーに接続できます。-
aretmis.profile
ファイルを保存します。
関連情報
- コンソールへのアクセス方法は、「AMQ 管理コンソールへのアクセス」 を参照してください。
詳細情報:
- クロスオリジンリソース共有については、W3C Recommendations を参照してください。
- Jolokia のセキュリティーについては、Jolokia Protocols を参照してください。
- コンソールへの接続のセキュリティー保護については、「AMQ 管理コンソールへのネットワークアクセスのセキュリティー保護」 を参照してください。