4.2. 配置 AMQ 管理控制台的本地和远程访问权限
本节中的步骤演示了如何配置对 AMQ 管理控制台的本地和远程访问。
远程访问控制台可以使用以下两种形式之一:
- 在本地代理的控制台会话中,您可以使用 Connect 选项卡连接到另一个远程代理
- 从远程主机,使用本地代理的外部可访问 IP 地址连接到本地代理的控制台
先决条件
-
您必须至少升级到 AMQ Broker 7.1.0。作为此升级的一部分,代理实例中添加了一个名为
jolokia-access.xml
的访问管理配置文件。如需有关升级的更多信息,请参阅 将代理实例从 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>
(即 跨组织资源共享)元素中,为您要允许访问控制台的每个 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
的远程代理。-
保存 is
tmis.profile
文件。
其它资源
- 要了解如何访问控制台,请参阅 第 4.3 节 “访问 AMQ 管理控制台”。
有关以下的更多信息:
- 跨 Origin 资源共享,请参阅 W3C 建议。
- Jolokia 安全,请参阅 Jolokia 协议。
- 保护与控制台的连接,请参阅 第 4.4.3 节 “保护 AMQ 管理控制台的网络访问”。