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

Как узнать, берет ли Apache HTTP контроль над Apache Tomcat

У меня есть веб-приложение, которое безупречно работает поверх Tomcat, но перед перенаправлениями и другими улучшениями безопасности я должен запустить httpd, подключенный к tomcat.

httpd запущен, но я не знаю, работает ли он над Кот. Я имею в виду, что первое, что я хочу настроить, - это перенаправление, но я не знаю, неправильно ли я его настраиваю или httpd просто не действует.

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

  1. У вас должен быть Tomcat Коннектор HTTP (или AJP) прослушивание другого порта, кроме 80 и привязать его к localhost только, например ты мог бы иметь в своем TOMCAT_HOME/conf/server.xml:

    <Connector 
        port="8080" 
        protocol="HTTP/1.1" 
        address="127.0.0.1"
        connectionTimeout="20000" 
    />
    

    Если есть разъем для порта 80 вам следует удалить его, поскольку теперь вы используете его на Apache. В противном случае то, что запускается первым, будет привязано к порту 80, препятствуя другому. Это было бы неприемлемо.

  2. Апачи mod_proxy необходимо установить и включить с помощью sudo a2enmod proxy.

  3. Добавьте прокси в конфигурацию Apache, возможно, внутри <VirtualHost> Директива, например

    <VirtualHost *:80>
        ServerName        host.example.com
        ProxyPass         /myapp  http://localhost:8080/myapp
        ProxyPassReverse  /myapp  http://localhost:8080/myapp
    </VirtualHost>
    

Только одно приложение может одновременно подключаться к определенному порту. Вы можете использовать такие инструменты, как ss чтобы определить, какой процесс прослушивает интересующие вас порты.