Как отфильтровать запросы, чтобы их обрабатывал apache, а не tomcat? - PullRequest
0 голосов
/ 07 мая 2018

По разным причинам я хочу отключить свой сервер после определенного периода простоя. Я использую Tomcat 8.5.29 и Apache2 (не уверен в версии) на Debian 4.9.88. Я написал скрипт, чтобы посмотреть, когда в последний раз Tomcat имел доступ. У меня только одно приложение на сервере, и оно по адресу "http://hostname/source/".. Моя проблема в том, что существует ряд уязвимостей веб-сервера, и я получаю постоянный поток запросов к: "GET / HTTP / 1.1" "POST / GponForm / diag_Form? Images / HTTP / 1.1" "GET /jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Aservice%3DMainDeployer HTTP / 1.1" "POST / пользователь / регистрация? Element_parents = account / mail /% 23value & ajax_form = 1 & _wrapper_format = drupal_ajax HTTP / 1.1"

Что я хотел бы сделать, так это помешать даже тому, кто не начинается с "/ source", попасть в tomcat. Я предполагаю, что перезапись или что-то в Apache может сделать это, но я не уверен, как запросы в первую очередь попадают в Tomcat. Есть идеи?

1 Ответ

0 голосов
/ 08 мая 2018

Существует два возможных способа запроса Tomcat:

  1. Зонды отправляют запросы непосредственно на порт Tomcat (обычно порт 8080). Это можно исправить, ограничив адрес прослушивания Tomcat адресом обратной связи, добавив атрибут address="127.0.0.1" к соответствующему элементу Connector в conf/server.xml. Или вы можете просто заблокировать порт 8080 в брандмауэре.

  2. Запросы пересылаются из Apache в Tomcat через конфигурацию обратного прокси-сервера в Apache. Это означает, что в одном из файлов конфигурации Apache есть такая строка:

    ProxyPass / http://127.0.0.1:8080/

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

    ProxyPass /source http://127.0.0.1:8080/source

    Это гарантирует, что только запросы, начинающиеся с "/ source", будут перенаправлены в Tomcat.

    Некоторые конфигурации Apache используют протокол AJP вместо HTTP для прокси, но применяются те же аргументы.

...