我正在三个环境(DEV/QA/PROD)的码头容器中运行ActiveMQ Artemis。
管理控制台通常运行在端口8161上,因此在创建代理时,我在artemis create语句中包含了这一点。
--http-host 0.0.0.0 --http-port 8161因此,这将导致以下两个更改,我可以看到:
我正在尝试从远程计算机访问ActiveMQ Artemis管理控制台,但公开的码头端口不是8161。它们是映射的端口38161、48161和58161。
因此,当我登录到管理控制台时,我得到:
Operation unknown failed due to: java.lang.Exception : Origin http://10.0.20.2:58161 is not allowed to call this agent
Uncaught TypeError: Cannot read property 'apply' of undefined (http://10.0.20.2:58161/console/app/app.js:16:14127)
Uncaught TypeError: Cannot read property 'apply' of undefined (http://10.0.20.2:58161/console/app/app.js:16:14127)
...发布于 2019-02-27 20:50:25
我认为这里的问题是您的jolokia access.xml.xml使用了以下内容:
<allow-origin>*://0.0.0.0*</allow-origin>但是,您正在尝试通过http://10.0.20.2:58161访问控制台,这是基于您的jolokia-access.xml不允许的。因此,您需要更改jolokia-access.xml以允许实际用于连接的IP:端口。
您可以在Jolokia安全文件中阅读更多关于jolokia access.xml.xml的内容。
为了清楚起见,元地址0.0.0.0基本上是“无特定地址”占位符,在将侦听器绑定到网络接口的上下文中,它意味着侦听器应该绑定/侦听所有接口。但是,在用于Jolokia安全的<allow-origin>上下文中,并不意味着允许所有来源。<allow-origin>支持文字匹配和通配符(如上面链接的文档中所指出的)。因此,如果指定了0.0.0.0,它就会尝试与0.0.0.0匹配。无法从create命令中禁用Jolokia安全性。如果要将类似于--http-host 10.0.20.*的内容传递给create命令,那么10.0.20.*将用于绑定bootstrap.xml中的were服务器,这将导致失败。
有一个选项是使用--relax-jolokia,这将禁用严格检查,这可能有助于您的用例。
https://stackoverflow.com/questions/54903283
复制相似问题