Как мне перенаправить с Apache на Tomcat? - PullRequest
36 голосов
/ 02 марта 2009

Я работаю над своим первым сайтом на Java. Я использую Apache Tomcat на порту 8080 и Apache HTTPD на порту 80. Текущий URL-адрес, по которому я могу получить доступ к сайту, это (например) 123.4.5.6:8080. Я хочу удалить номер порта из URL, прежде чем я укажу домену на новый IP.

В настоящее время я использую только Apache для phpmyadmin, однако я планирую использовать его для сценариев CGI и других вещей, как только выясню mod_jk и т. Д ... Поэтому я не хочу менять порт Tomcat на 80 и выключите Apache.

Надеюсь, это имеет смысл.

Ответы [ 5 ]

41 голосов
/ 02 марта 2009

Правильный способ сделать это - оставить Apache на 80 и Tomcat на 8080 и использовать плагин (предпочтительно mod_proxy) для прокси Tomcat из Apache. Настройка mod_proxy займет у вас всего 10 минут.

Это с практическими рекомендациями очень просто следовать.

17 голосов
/ 02 марта 2009

Обычный способ сделать это, как вы уже упоминали, это использовать mod_jk из Apache HTTPD для пересылки контента, который вы хотите обрабатывать в Tomcat.

Существует Quick HowTo на tomcat.apache.org. Вам необходимо сделать следующее:

  • Скопируйте mod_jk.so в соответствующий каталог модулей для Apache HTTPD.
  • Создать файл конфигурации workers.properties
  • В Apache HTTPD httpd.conf добавьте раздел для настройки mod_jk.
  • Убедитесь, что Tomcat настроен на прием протокола mod_jk, который обычно находится на порту 8009.

Строки в httpd.conf с JkMount:

JkMount  /examples/* worker1

сообщить Apache HTTPD, какие запросы нужно перенаправлять в Tomcat.

2 голосов
/ 03 марта 2009

Оба полезных ответа выше хороши, но я предпочитаю mod_proxy вместо mod_jk. В отличие от mod_jk, для mod_proxy установка не требуется, а установка намного проще. mod_jk дает вам больше контроля над подробной настройкой параметров Tomcat, но если вы просто хотите просто перенаправить из Apache в Tomcat, mod_proxy - путь.

1 голос
/ 30 июня 2012

Если вы хотите, чтобы статический контент обслуживался Apache вместо Tomcat, вы должны использовать mod_jk: http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html

А как насчет SSL - если мы хотим, чтобы Apache обрабатывал HTTPS, потому что он быстрее, чем java / Tomcat?

0 голосов
/ 16 сентября 2016

вы должны настроить свой кот по этой ссылке. для кота 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy-howto.html

...