Я хочу запустить приложение Tomcat через обычный URL-адрес веб-сайта, например www.xyz.com
. Я хотел бы, чтобы корень этого домена действовал как базовый каталог для веб-приложения, чтобы каждый запрос www.xyz.com/a/b/c
становится www.abc.com:8080/myApp/a/b/c
. В идеале я мог бы сделать это прозрачно и только для определенных веб-приложений.
www.abc.com:8080
все равно должен отвечать на запросы.
Что мне нужно сделать, чтобы это произошло?
ProxyPass / http://www.abc.com:8080/myApp/
ProxyPassReverse / http://www.abc.com:8080/myApp/
Узнать больше о mod_proxy
Более простой способ сделать это - просто добавить запись виртуального хоста в файл конфигурации Apache. Обычно находится в / etc / httpd / conf, добавьте что-то вроде этого в конце раздела Virtual Host:
<VirtualHost X.X.X.X:80>
ServerName tomcatpage.yourdomain.com
ServerAlias tomcatpage.yourdomain.com
Redirect permanent / http://tomcatpage.yourdomain.com:8080/
</VirtualHost>
Перезапустите службу Apache, и все готово.
Для этого вы можете использовать mod_rewrite в Apache. Загрузите mod_rewrite в свой Apache и на своем vhost www.xyz.com добавьте следующее правило:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1
Это должно творить чудеса.
Подробнее о mod_rewrite Вот.
РЕДАКТИРОВАТЬ: Чтобы сохранить имя сайта в браузерах, используйте также mod_proxy, просто добавив [P] в конце RewriteRule:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1 [P]
Это заставит Apache действовать как прокси для этого URL, а не просто переписывать URL.