Пристани внутри ActiveMQ: URL веб-консоли - PullRequest
3 голосов
/ 16 августа 2011

У меня есть машина с Ubuntu, на которой

a) веб-приложение (Tomcat, по URL http://myapp.com) и

b) посредник очереди сообщений (ActiveMQ)

работают.

ActiveMQ имеет веб-консоль, которая обычно работает через порт 8161 (т. Е. На http://AAA.BBB.CCC.DDD:8161/admin, где AAA.BBB.CCC.DDD - это IP-адрес машины).

Из-за ограничений брандмауэра в моем офисе я не могу получить доступ к веб-консоли, если она работает на порту 8161, 8080 также не работает.

Однако я могу получить доступ к веб-консоли, если использую порт 80 (http).

Но тогда у меня возникает другая проблема: когда я пытаюсь получить доступ к

http://myapp.com

Я направлен в веб-консоль ActiveMQ.

Вопрос: Как я могу настроить ActiveMQ так, чтобы

a) Веб-консоль ActiveMQ доступна через порт 80 по URL-адресу, например http://AAA.BBB.CCC.DDD/activemq и

b) мое веб-приложение работает как обычно на http://myapp.com

1 Ответ

3 голосов
/ 02 сентября 2011

Чтобы изменить 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>

Как говорится, у вас уже есть приложение Tomcat, работающее на 80-м порту. В этом случае вам нужно встроить веб-консоль AMQ в Tomcat (как отдельное приложение), а не запускать ее отдельно через брокер / Jetty. См. эту страницу для получения дополнительной информации об этом ...

...