Назад | Перейти на главную страницу

Скрыть порты в URL-адресе приложения tomcat

Я установил tomcat 6 на сервере с несколькими разными экземплярами, которые работают на разных портах

Например:

     http://10.XXX.XXX.XXX:8080/myAPP1
     http://10.XXX.XXX.XXX:8088/myAPP2
     http://10.XXX.XXX.XXX:8082/myAPP3

и так далее...

Эти URL-адреса доступны для двух пользователей, использующих эти и другие приложения. Теперь я хочу скрыть порты, на которых работает каждое из приложений ...

Чтобы пользователь мог видеть только что-то подобное

http://10.XXX.XXX.XXX/myAPP1
http://10.XXX.XXX.XXX/myAPP2
http://10.XXX.XXX.XXX/myAPP3

Что для этого нужно сделать

Я добился этого для одного URL-адреса (то есть одного порта) с помощью правил брандмауэра и перенаправил запрос на HTTP 80 порт в порт, который tomcat слушает..

Но я хочу, чтобы такая скороговорка появлялась на всех url ...

Как я могу это сделать?

Технические характеристики

HOST M / C: 64 бит

ОС: Linux Redhat

Tomcat: 6.0

Установите apache и используйте mod_rewrite для проксирования запросов к серверным приложениям tomcat.

Вот примерный фрагмент конфигурации apache, который должен это сделать:

RewriteEngine on
#Optional - setup a log, useful for debugging
#RewriteLog logs/rewrite.log
#RewriteLogLevel 3

RewriteRule ^/myAPP1(.*) http://10.XXX.XXX.XXX:8080/myAPP1$1 [P,L]
RewriteRule ^/myAPP2(.*) http://10.XXX.XXX.XXX:8088/myAPP2$1 [P,L]
RewriteRule ^/myAPP3(.*) http://10.XXX.XXX.XXX:8082/myAPP3$1 [P,L]

Вот некоторая полезная информация о mod_rewrite: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet/

Установите настоящий веб-сервер, например Apache или nginx, и используйте его встроенные возможности проксирования (mod_proxy на Apache и HttpProxy основной модуль на nginx), чтобы проксировать путь к соответствующему приложению Tomcat, работающему на высоком порту.