Как запустить Fuse ESB на сервере Tomcat? - PullRequest
1 голос
/ 25 ноября 2011

Странный вопрос здесь. Я работаю стажером по прототипированию SOA. Получение виртуального сервера - большая проблема, поэтому мой начальник спросил, могу ли я запустить Fuse ESB на том же сервере, на котором у меня уже есть сервер Tomcat. (Это работает Liferay CMS). Я сказал, конечно, я не думаю, что Fuse использует какой-либо один и тот же порт, так что это не должно быть проблемой, верно?

Оказывается, это также большая проблема с открытием портов, отличных от 80, 8080, 443 и 8443 на этом сервере. А веб-консоль Fuse работает на 8181.

Так что мой вопрос таков. Как получить трафик на конкретный URL-адрес tomcat для маршрутизации локально на веб-консоль Fuse ESB? Например, допустим, что Liferay равен https://X.X.X.X/home/guest или что-то в этом роде. Как сделать так, чтобы трафик https://X.X.X.X/fuse/console показывал веб-консоль Fuse ESB на 8181?

Маршрутизация должна происходить локально, потому что, если трафик возвращается за пределы брандмауэра, он не будет снова возвращаться на 8181. Трафик поступает только на 80, 8080, 443 и 8443. Он также входит на 22, если это с моей рабочей станции. Я не имею никакого контроля над этим.

Обычно я могу получить ответы, прибегая к помощи вещей, но в этом случае я не нашел ничего полезного. Я думаю, что причина этого в том, что я не совсем знаю нужную мне терминологию. Кроме того, это, вероятно, самый запутанный способ сделать это, но так как я стажер, у меня действительно нет тяги.

Я ценю любые указатели в правильном направлении. Прошу прощения за мое невежество, я учу себя этому.

Спасибо,

Griff

1 Ответ

0 голосов
/ 25 ноября 2011

Моя рекомендация: иметь приличный веб-сервер во внешнем интерфейсе (например, Apache) и попросить одного делегировать запросы бэкэнду. В этом сценарии Apache прослушивает порты 80 и 443 и использует, например, mod_jk, mod_proxy или mod_proxy_ajp для делегирования внутренним серверам на основе URL-адреса.

mod_proxy делегирует через http, остальные через ajp, протокол, предназначенный для пересылки информации. Вероятно, вы можете получить более точную информацию по этим темам, просмотрев документы модулей в Интернете.

Полученные соединения будут созданы Apache, так что вы уже находитесь за брандмауэром - больше не должно быть проблем с брандмауэром для этих соединений. С помощью ajp tomcat получит всю информацию таким же образом, как если бы он в первую очередь принял само соединение

...