Проблема Apache 2.4, mod_jk, JBoss

Вопрос или проблема

В настоящее время у нас следующая среда:
Front Server A: работает под управлением Apache 2.2, mod_jk 1.2.30
Backend сервер B: работает под управлением Jboss 5.1.0
Все работает нормально

Мы пытаемся обновить фронтальный сервер A и перейти на Apache 2.4, mod_jk 1.2.49, назовем его сервером C

Как только новый сервер запустился, мы заметили следующее:
1- если мы удалим сервер A и заменим его сервером C, все выглядит нормально и работает как ожидалось
2- когда мы перезагружаем сервер Jboss на сервере B, мы заметили, что веб-сервер отправляет запрос на страницу аутентификации управления (JMX консоль) вместо страницы приложения, и на странице появляется всплывающее окно для ввода имени пользователя и пароля

Мы проверили все настройки и конфигурации, все выглядит нормально.
Вот конфигурация для workers.properties

# Определите список рабочих, которые будут использоваться
# для сопоставления запросов
worker.list=loadbalancer,status

# Определите NodeA
# измените хост на ваш IP-адрес или DNS-имя.
worker.nodeA.port=8009
worker.nodeA.host=192.168.0.242
worker.nodeA.type=ajp13
worker.nodeA.lbfactor=1


# Поведение балансировки нагрузки
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=nodeA
worker.loadbalancer.sticky_session=1


# Рабочий статус для управления балансировщиком нагрузки
worker.status.type=status

Любая помощь или поддержка будет весьма appreciated

Ответ или решение

Ваш вопрос касается проблемы с конфигурацией Apache 2.4 и mod_jk, когда осуществляется переход с Apache 2.2. на новою версию, а так же когда серверы JBoss не перенаправляют запросы корректно. Давайте рассмотрим возможные причины и решения данной проблемы.

Анализ проблемы

  1. Поведение при перезапуске JBoss: Когда перезапускается JBoss на сервере B, вы сталкиваетесь с тем, что запросы перенаправляются на страницу авторизации JMX консоли, а не на ваше приложение. Это может быть связано с тем, что сервер Apache не распознает правильно контекст приложения или отправляет запросы на неверный AJP-порт.

  2. Проблемы с конфигурацией workers.properties: Хотя ваша конфигурация выглядит правильно, есть несколько аспектов, на которые стоит обратить внимание:

    • Порт JBoss: Убедитесь, что JBoss правильно настроен на прослушивание AJP-порта 8009, и что он открыт и доступен. Если используется другой порт, необходимо изменить его в конфигурации workers.properties.

    • Контексты приложений: Убедитесь, что приложение действительно доступно по предполагаемому контексту. В JBoss могут быть определены разные контексты, и вы должны убедиться, что запросы направляются на верный контекст.

    • Обработка запросов: При использовании mod_jk настройте соответствие между запросами и вашими приложениями, используя JkMount. Например:

      JkMount /yourapp/* loadbalancer

Рекомендации по исправлению

  1. Проверьте настройки JBoss: Убедитесь, что server.xml JBoss уже настроен для работы с AJP, и AJP подключен на порту 8009 (или любом другом, который вы используете).

  2. Настройка JkMount в Apache: Добавьте необходимые директивы JkMount в конфигурацию вашего виртуального хоста Apache, чтобы явно указать, какие URL-адреса должны обрабатываться с использованием mod_jk:

    <VirtualHost *:80>
       JkMount /yourapp/* loadbalancer
       JkMount /yourapp/status status
    </VirtualHost>

    Замените /yourapp на фактический контекст вашего приложения.

  3. Логи: Проверьте логи Apache (error.log и access.log) и логи JBoss. Это поможет вам обнаружить любые ошибки или проблемы во время обработки запроса.

  4. Параметры безопасности: При настройках в JBoss может потребоваться переопределить некоторые параметры безопасности, чтобы удостовериться, что доступ к приложению не блокируется. Проверьте параметры безопасности в web.xml приложения.

  5. Тестирование: Следует протестировать соединение с JBoss через AJP, используя утилиты, такие как curl, для отправки запросов напрямую на JBoss, чтобы убедиться, что порт должным образом обрабатывает запросы.

Заключение

Если после выполнения всех перечисленных шагов проблема не решается, пожалуйста, предоставьте дополнительные детали конфигурации, а также логи, чтобы помочь точнее определить источник проблемы. Удачи в решении вашей проблемы!

Оцените материал
Добавить комментарий

Капча загружается...