У меня есть два экземпляра сервера wildfly на моем сервере Linux, и я хочу сбалансировать нагрузку на обоих, используя балансировщик прокси-сервера apache. Но балансировщик не работает должным образом, отправляя запросы на серверы wildfly один за другим в циклической форме, но ни один из них не работает должным образом. На моем веб-сайте я вижу страницу входа в систему, но после добавления учетных данных она не перенаправляется на домашнюю страницу, а в журналах я вижу, что она правильно вошла в систему. Если я остановлю один сервер, все будет работать правильно
Вот моя конфигурация прокси
ProxyRequests Off
ProxyPreserveHost On
ProxyVia On
<Proxy balancer://mycluster>
# WebHead
BalancerMember http://x.y.z.z:8080
# WebHead2
BalancerMember http://x.y.z.z:8280
</Proxy>
ProxyPass /test balancer://mycluster/test
ProxyPassReverse /test balancer://mycluster/test
Скажите, пожалуйста, что в этом не так и как я могу это исправить
Вероятно, происходит то, что вы входите в систему на Server1 (x.y.z.z: 8080), но следующий запрос идет на Server2 (x.y.z.z: 8280), который не знает вашего сеанса на Server1.
Есть два основных способа исправить это.
Совместное использование состояния сеанса между серверами
То, как вы это делаете, зависит от вашей серверной технологии (PHP, Java, Pyton), но в основном вы должны использовать общее расположение (Redis, SQL, MemCached и т. Д.) Для хранения информации о сеансе для обе серверов, так что любое данное соединение может перейти к любому серверу и быть распознано.
Включите "липкие сеансы" в конфигурации mod_proxy
Опять же, фактические детали того, как это сделать, зависят от вашей серверной технологии, но в общих чертах вам нужно добавить stickysession
пара ключ / значение к вашему ProxyPass
директива, как указано в документы.