3.2. 配置对 AMQ 管理控制台的本地和远程访问
本节中的步骤演示了如何配置本地和远程访问 AMQ 管理控制台。
远程访问控制台可能采用两种形式之一:
- 在本地代理上的控制台会话中,您可以使用 Connect 选项卡连接到另一个远程代理
- 在远程主机中,您要使用本地代理的外部可访问 IP 地址连接到本地代理的控制台
先决条件
-
您必须至少升级到 AMQ Broker 7.1.0。作为此升级的一部分,将名为
jolokia-access.xml
的 access-management 配置文件添加到代理实例中。有关升级的更多信息,请参阅将 Broker 实例从 7.0.x 升级到 7.1.0。
步骤
-
打开
<broker-instance-dir>/etc/bootstrap.xml
文件。 在
web
元素中,观察默认情况下 Web 端口仅绑定到localhost
。<web bind="http://localhost:8161" path="web"> <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"/> </web>
要从远程主机中为本地代理启用到控制台的连接,请将 Web 端口绑定改为网络可访问的接口。例如:
<web bind="http://0.0.0.0:8161" path="web">
在前面的示例中,通过指定
0.0.0.0
,您可以将 Web 端口绑定到本地代理 上的所有 接口。-
保存
bootstrap.xml
文件。 -
打开
<broker-instance-dir>/etc/jolokia-access.xml
文件。 在
<cors>
(即 Cross-Origin Resource Sharing)元素中,为您要允许访问控制台的每个 HTTP 原始请求标头添加一个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
方案。 - 第二个星号通配符字符允许将主机上的任意端口用于连接。
-
第一个星号(
-
使用本地代理的外部访问 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
根据前面的配置,您可以使用本地代理上控制台会话中的 连接 标签页连接到另一个、带有 IP 地址
192.168.0.51
的远程代理。-
保存
aretmis.profile
文件。
其他资源
- 要了解如何访问控制台,请参阅 第 3.3 节 “访问 AMQ 管理控制台”。
有关以下内容的更多信息:
- 跨网格资源共享,请参阅 W3C Recommendations。
- Jolokia 安全性,请参阅 Jolokia Protocols。
- 保护到控制台的连接,请参阅 第 3.4.2 节 “保护对 AMQ 管理控制台的网络访问”。