Закрепленная сессия в mod_cluster 1.3.0 + jboss 6.3.3

У меня есть установка с 1 mod_cluster (1.3.0) и 2 JBoss (6.3.3). Я пытаюсь использовать stickysession, но не вижу cookie в ответе, а запросы обслуживаются разными узлами.

Использование конфигурации mod_cluster по умолчанию (с моим IP)

<IfModule manager_module>
  Listen 156.24.221.149:6666
  ManagerBalancerName mycluster
  <VirtualHost 156.24.221.149:6666>
    <Location />
     Require ip 156.24
    </Location>

    KeepAliveTimeout 300
    MaxKeepAliveRequests 0
    #ServerAdvertise on http://@IP@:6666
    AdvertiseFrequency 5
    #AdvertiseSecurityKey secret
    #AdvertiseGroup @ADVIP@:23364
    EnableMCPMReceive

  </VirtualHost>

  <Location /mod_cluster_manager>
     SetHandler mod_cluster-manager
     Require ip 156.24
  </Location>


</IfModule>

Я также пытался использовать ProxyPass, но согласно этому ответу (Прикрепленный сеанс не работает с несколькими виртуальными хостами apache и несколькими серверными группами JBoss 7.2) теперь он избыточен, и прилипание должно быть поведением по умолчанию.

Редактировать № 2: больше не использовать это определение виртуального хоста ServerName dar.com

#  ProxyPass / balancer://mycluster stickysession=JSESSIONID
#  ProxyPassReverse / balancer://mycluster
#  ProxyPreserveHost On

  ErrorLog "logs/vhost1_error.log"
  CustomLog "logs/vhost1_access.log" common
</VirtualHost>

Конфигурацию JBoss не менял, просто запускал standalone-ha.xml

Любые советы о том, как решить/отладить эту проблему?

Спасибо.

Изменить: добавлен снимок mod_cluster. Для записи мне пришлось взять конфигурацию mod_cluster в файле httpd.conf вне определения виртуального хоста (иначе я не мог получить доступ к ресурсу). конфигурация mod_cluster


person mkcons    schedule 07.02.2018    source источник
comment
Я бы сослался на этот Прикрепленные сеансы не поддерживаются в балансировщике нагрузки мод кластера для jboss eap 7, поскольку он предоставляет некоторые методы устранения неполадок. Если вы не найдете здесь ссылку на форум JBoss Dev, это — после просмотра вопросов и ответов ServerFault — перейдите на форум Jboss и просмотрите все, пока человек, который помог, объяснил, что не так с конфигурацией. Если у вас все получится, добавьте ответ на свой вопрос.   -  person JGlass    schedule 07.02.2018
comment
И примите ответ ;-) для других людей.   -  person JGlass    schedule 07.02.2018
comment
Спасибо, еще не разобрался. Я проверил stackoverflow.com/ также questions/38299026/, но пока ничего.   -  person mkcons    schedule 08.02.2018
comment
И вы просмотрели сообщение на форуме JBoss, и это не помогло?   -  person JGlass    schedule 08.02.2018
comment
Да, мой вывод из этого поста заключался в том, чтобы запустить JBoss, определяющий свойство идентификатора экземпляра, но это ничего не изменило. Я собираюсь сбросить настройки и начать с новых виртуальных машин.   -  person mkcons    schedule 09.02.2018
comment
Не могли бы вы выложить фото из вашего mod_cluster_manager?   -  person Thiago Chagas - Batata    schedule 09.02.2018
comment
Конечно. Вы заметите, что я обращаюсь к веб-серверу по IP, я удалил определение виртуального хоста на порту 80.   -  person mkcons    schedule 09.02.2018


Ответы (1)


Я заставил это работать с другим сценарием (wildfly10 в режиме домена), однако это будет та же конфигурация.

Ссылка: Modcluster 1.3 .0 с Wildfly 10.1.0

Использовать это:

<VirtualHost *:80>
  ServerName dar.com

  ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On
  ProxyPassReverse / balancer://mycluster
  ProxyPreserveHost On

  ErrorLog "logs/vhost1_error.log"
  CustomLog "logs/vhost1_access.log" common
</VirtualHost>

И затем, когда вы зайдете на «dar.com» в своем браузере, сессия будет «закреплена».

person Thiago Chagas - Batata    schedule 09.02.2018
comment
Когда вы получаете доступ к приложению через браузер, какой JSESSION_ID появляется в запросах? - person Thiago Chagas - Batata; 09.02.2018
comment
Я использую CURL, я пытался сделать: [root@rhel-1 httpd]# curl -X POST dar.com:8080/orch/api/****/** -v * О подключении() к dar .com порт 8080 (#0) * Попытка 156.24.221.149... * Подключено к dar.com (156.24.221.149) порт 8080 (#0) › POST /orch/api/****/** HTTP/1.1 › User-Agent: curl/7.29.0 › Host: dar.com:8080 › Accept: / › ‹ HTTP/1.1 200 OK ‹ Дата: пятница, 09 февраля 2018 г., 16:19:06 GMT ‹ Content-Type: application/json ‹ Transfer-Encoding: chunked ‹ * Соединение №0 с хостом dar.com осталось нетронутым {box:site2-core1} - person mkcons; 09.02.2018
comment
атрибут box меняется почти каждый раз, вот как я вижу, где он выполняется. - person mkcons; 09.02.2018
comment
Я знаю, что вы уже сказали, что видели в другом вопросе, однако пытались ли вы переименовать оба узла в более простое имя (без «-» или в верхнем регистре), например «узел1» и «узел2»? - person Thiago Chagas - Batata; 09.02.2018
comment
Я бы посоветовал вам посмотреть ваш apache error.log при запуске службы и что происходит в журнале сервера Jboss 6. Проблема в том, что apache и jboss неправильно разговаривают, поэтому jboss не знает разницы между node1 и node2. - person Thiago Chagas - Batata; 14.02.2018