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
。<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
文件。 -
打开 &
lt;broker_instance_dir> /etc/jolokia-access.xml
文件。 在 &
lt;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>
在前面的配置中,您可以指定允许以下连接:
从本地主机(即本地代理实例的主机机器)连接到控制台。
-
根据您为安全连接配置了控制台,
在连接
请求中允许指定第一个星号(DSL)通配符字符。 - 第二个星号通配符字符允许主机上任何端口用于连接。
-
根据您为安全连接配置了控制台,
-
使用本地代理的外部可访问的 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
参数的值设置为false
)。将新参数
Dhawtio.proxyWhitelist
添加至 Java 系统参数的JAVA_ARGS
列表中。作为以逗号分隔的列表,为您要从本地代理(即,使用本地代理上运行的控制台会话中的 Connect 选项卡)连接的远程代理指定 IP 地址。例如:-Dhawtio.proxyWhitelist=192.168.0.51
根据上述配置,您可以使用本地代理控制台会话中的 Connect 选项卡连接到另一个,IP 地址为
192.168.0.51
的远程代理。-
保存
aretmis.profile
文件。
其他资源
- 要了解如何访问控制台,请参阅 第 4.3 节 “访问 AMQ 管理控制台”。
有关以下内容的更多信息:
- 跨 Origin Resource Sharing,请参阅 W3C Recommendations。
- Jolokia 安全性,请参阅 Jolokia 协议。
- 保护到控制台的连接,请参阅 第 4.4.3 节 “保护对 AMQ 管理控制台的网络访问”。