我在我的Windows机器上安装了ActiveMQ 5.5.0,它有一个web控制台(http:/localhost:8161admin)。
然后我在远程的Linux盒子上安装了ActiveMQ(同样的版本)(IP:AAA.BBB.CCC.DDD),但是每当我将浏览器指向
http:/AAA.BBB.CCC.DDD:8161admin。
我在浏览器中得到 "无法连接 "的错误信息。
网络连接是存在的,我可以通过ssh连接到AAA.BBB.CCC.DDD,也可以连接到另一个运行在同一服务器上的web应用程序。
因此我认为问题的原因是ActiveMQ的嵌入式Jetty服务器配置错误。
如何解决这个问题,即从远程浏览器访问web控制台?
在你的ActiveMQ配置文件中,你应该看到这样的内容。
<import resource="${activemq.base}/conf/jetty.xml"/>
这启动了一个嵌入式Jetty容器和网络控制台。
如果你在控制台上启动broker,如果一切正常的话,你应该看到以下内容
INFO | ActiveMQ WebConsole initialized.
INFO | Initializing Spring FrameworkServlet 'dispatcher'
INFO | ActiveMQ Console at http://0.0.0.0:8161/admin
我在虚拟机中运行的linux服务器上使用了这种方法,但可以应用于任何实例检查8161端口是否被打开用于外部连接。同时检查是否有其他服务产生冲突。{activemqfolder}/conf/jetty.xml
.找到包含8161的那一行,并将其改为理想的端口。
要启用外部连接到端口(在本例中,我选择8169),请使用以下方法
sudo iptables -I INPUT -p tcp --dport 8169 -j ACCEPT
继续启动activemq即 {activemqfolder}/bin/activemq console
查看信息