Я установил 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, работающему на высоком порту.