ActiveMQ中的Jetty: Web控制台URL



我有一台ubuntu机器,在上面

a)一个web应用程序(Tomcat, URL http://myapp.com)和

b)消息队列代理(ActiveMQ)

正在运行。

ActiveMQ有一个web控制台,它通常运行在端口8161上(即在http://AAA.BBB.CCC.DDD:8161/admin,其中AAA.BBB.CCC.DDD是机器的IP地址)。

由于我办公室的防火墙限制,我无法访问web控制台,如果它在端口8161上运行,8080也不工作。

但是,如果我使用端口80 (http),我可以访问web控制台。

但是我又遇到了另一个问题:当我试图访问

时http://myapp.com

我被引导到ActiveMQ的web控制台。

问题:如何配置ActiveMQ,以便

a) ActiveMQ web控制台通过URL上的80端口可用,如http://AAA.BBB.CCC.DDD/activemq和

b)我的web应用程序工作正常http://myapp.com

?

要更改contextPath/port,只需修改/activemq/conf/jetty.xml文件,如下所示…

<bean class="org.eclipse.jetty.webapp.WebAppContext">
    <property name="contextPath" value="/activemq" />
    ...
<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
    <property name="port" value="80" />
</bean>

也就是说,听起来你已经在80端口上运行了一个Tomcat应用程序。在这种情况下,您需要在Tomcat中嵌入AMQ web控制台(作为一个单独的应用程序),而不是通过代理/Jetty单独运行它。

最新更新