4.2. 配置对 AMQ 管理控制台的本地和远程访问
本节中的步骤演示了如何配置对 AMQ 管理控制台的本地和远程访问权限。
远程访问控制台可以采用两种形式之一:
- 在本地代理上的控制台会话中,您可以使用 Connect 选项卡连接到另一个远程代理
- 在远程主机中,您可以使用本地代理的外部 IP 地址连接到本地代理的控制台
先决条件
-
您必须至少升级到 AMQ Broker 7.1.0。作为此升级的一部分,将名为
jolokia-access.xml的 access-management 配置文件添加到代理实例中。有关升级的更多信息,请参阅将 代理实例从 7.0.x 升级到 7.1.0。
流程
-
打开 &
lt;broker_instance_dir> /etc/bootstrap.xml文件。 在
web元素中,观察 Web 端口默认仅绑定到localhost。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要从远程主机为本地代理启用到控制台的连接,请将 Web 端口绑定到网络可访问的接口。例如:
<web path="web"> <binding uri="http://0.0.0.0:8161">
<web path="web"> <binding uri="http://0.0.0.0:8161">Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在前面的示例中,通过指定
0.0.0.0,您可以将 Web 端口绑定到本地代理 上的所有 接口。-
保存
bootstrap.xml文件。 -
打开 &
lt;broker_instance_dir> /etc/jolokia-access.xml文件。 在 &
lt;cors> (即 Cross-Origin Resource Sharing)元素中,为您要允许访问控制台的每个 HTTP 原始请求标头添加一个allow-origin条目。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在前面的配置中,您可以指定允许以下连接:
从本地主机(即本地代理实例的主机机器)连接到控制台。
-
第一个星号(
*)通配符允许在连接请求中指定http或https方案,具体取决于您是否已为安全连接配置了控制台。 - 第二个星号通配符允许主机计算机上的任何端口用于连接。
-
第一个星号(
-
使用本地代理的外部可访问的 IP 地址,从远程主机连接到本地代理的控制台。在这种情况下,本地代理的外部可访问的 IP 地址为
192.168.0.49。 -
从在另一个远程代理中打开的控制台会话内连接到本地代理。在本例中,远程代理的 IP 地址为
192.168.0.51。
-
保存
jolokia-access.xml文件。 -
打开 &
lt;broker_instance_dir> /etc/artemis.profile文件。 若要在控制台中启用 Connect 选项卡,请将
Dhawtio.disableProxy参数的值设置为false。-Dhawtio.disableProxy=false
-Dhawtio.disableProxy=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要建议您仅在控制台公开给安全网络时启用来自控制台的远程连接(即,将
Dhawtio.disableProxy参数的值设置为false)。将新参数
Dhawtio.proxyWhitelist添加到 Java 系统参数的JAVA_ARGS列表中。作为用逗号分开的列表,为您要从本地代理连接的任何远程代理指定 IP 地址(即,使用本地代理上运行的控制台会话中的 Connect 选项卡)。例如:-Dhawtio.proxyWhitelist=192.168.0.51
-Dhawtio.proxyWhitelist=192.168.0.51Copy to Clipboard Copied! Toggle word wrap Toggle overflow 根据上述配置,您可以使用本地代理的控制台会话中的 Connect 选项卡连接到另一个远程代理,IP 地址为
192.168.0.51。-
保存
aretmis.profile文件。
其他资源
- 要了解如何访问控制台,请参阅 第 4.3 节 “访问 AMQ 管理控制台”。
有关以下内容的更多信息:
- 跨资源共享,请参阅 W3C Recommendations。
- Jolokia 安全,请参阅 Jolokia 协议。
- 保护到控制台的连接,请参阅 第 4.4.3 节 “保护对 AMQ 管理控制台的网络访问”。