在收听0.0.0.0时无法访问Artemis GUI

时间:2018-03-09 19:48:19

标签: activemq-artemis

我正在以两种不同的方式初级化经纪人。一个侦听0.0.0.0,另一个侦听节点IP,即172.29.245.17

经纪人1:

[root@amq-1 apache-artemis-2.4.0]# bin/artemis create --name BROKER-1 /var/tmp/BROKER-1  --user admin --password admin --http-host 0.0.0.0 --http-port 8080 --allow-anonymous

经纪人2:

[root@amq-1 apache-artemis-2.4.0]# bin/artemis create --name BROKER-2 /var/tmp/BROKER-2  --user admin --password admin --http-host 172.29.245.17 --http-port 8080 --allow-anonymous

正如您所看到的,唯一的区别是要监听的IP。一个对所有人开放(0.0.0.0)。另一个只监听1个特定的IP()。

访问Broker-2的GUI(一个监听172.29.245.17

没有问题

现在,当我启动Broker-1(听0.0.0.0)时,我被重定向到/console/jvm/connect

enter image description here

错误状态::

[Core] Operation unknown failed due to: java.lang.Exception : Origin http://172.29.245.17:8080 is not allowed to call this agent
[Core] ActiveMQ Management Console started
[Window] Uncaught TypeError: Cannot read property 'apply' of undefined (http://172.29.245.17:8080/console/app/app.js?0d5300a336117972:16:14366)
[Window] Uncaught TypeError: Cannot read property 'apply' of undefined (http://172.29.245.17:8080/console/app/app.js?0d5300a336117972:16:14366)
[Window] Uncaught TypeError: Cannot read property 'apply' of undefined (http://172.29.245.17:8080/console/app/app.js?0d5300a336117972:16:14366)
[Window] Uncaught TypeError: Cannot read property 'apply' of undefined (http://172.29.245.17:8080/console/app/app.js?0d5300a336117972:16:14366)

对于Broker-1,jolokia-access.xml状态::

<restrict>

    <cors>
        <!-- Allow cross origin access from 0.0.0.0 ... -->
        <allow-origin>*://0.0.0.0*</allow-origin>

        <!-- Check for the proper origin on the server side, too -->
        <strict-checking/>
    </cors>

</restrict>

对于Broker-2,jolokia-access.xml状态:

<restrict>

    <cors>
        <!-- Allow cross origin access from 172.29.245.17 ... -->
        <allow-origin>*://172.29.245.17*</allow-origin>

        <!-- Check for the proper origin on the server side, too -->
        <strict-checking/>
    </cors>

</restrict>

当我试图听0.0.0.0时,我无法弄清楚为什么会出现这个问题。有任何想法吗 ?

所有其他配置均为默认配置。我没有修改任何其他配置。

1 个答案:

答案 0 :(得分:2)

我认为这里的问题是你在Broker-1上的jolokia-access.xml正在使用它:

<allow-origin>*://0.0.0.0*</allow-origin>

但是,在您的浏览器中,您尝试通过172.29.245.17:8080访问控制台,这是基于jolokia-access.xml不允许的。因此,您需要更改浏览器以连接到0.0.0.0:8080(仅在代理/控制台在本地运行时才能运行)或更改jolokia-access.xml以允许您实际使用的IP:端口用来连接。

您可以在Jolokia security documentation中了解有关jolokia-access.xml的更多信息。