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

Перенаправить запросы apache (порт 80) на Tomcat (порт 8080)?

Я хочу запустить приложение 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.