В настоящее время у меня есть очень простой кластер, состоящий из двух экземпляров Tomcat 6.0.32 ( Tomcat1 и Tomcat2 ), работающих на одном и том же VPS.Я использую mod_proxy_ajp и mod_proxy_balancer в качестве балансировщика нагрузки через Apache (на том же VPS).Мы используем базовую аутентификацию формы (через j_security_check) для создания аутентифицированных сеансов для пользователей.
Балансировщик нагрузки работает хорошо, и сеансы без проверки подлинности успешно реплицируются между двумя экземплярами.Однако я не могу заменить аутентифицированные сеансы между каждым экземпляром.
Я использую очень простой JSP, называемый session.jsp (на основе шаблона JPS http://www.syslog.gr/articles-mainmenu-99/15-tomcat-cluster-session-replication.html), чтобы проверить сеанс, чтобы увидеть,это новый сеанс и распечатайте JSESSIONID. У меня есть одна копия JSP внутри защищенной области и одна копия за пределами защищенной области.
Я провел следующие тесты:
Тест 1)
Я получаю доступ к session.jsp за пределами защищенной области приложения на Tomcat1 , записываю JSESSIONID и подтверждаю с помощью балансировщика нагрузки, что Tomcat1 обработал запрос.Затем я закрываю Tomcat1 и обновляю страницу.Теперь запрос обрабатывается Tomcat2 (что подтверждается балансировщиком нагрузки).Когда страница завершает загрузку, я вижу свой исходный JSESSIONID, и мой сеанс сохранился.
Тест 2)
Доступ к session.jsp внутри защищенной области приложения на Tomcat1 .Это побуждает меня войти в систему. После входа я отправляюсь в файл session.jsp, записываю мой JSESSIONID и подтверждаю балансировщиком нагрузки, чем Tomcat1 обработал запрос.Затем я выключаю Tomcat1 и обновляю страницу.Теперь запрос обрабатывается Tomcat2 (что подтверждается балансировщиком нагрузки).Когда страницы загружаются, я проверяю свои куки.Теперь у меня есть новый JSESSIONID, и мне снова предлагается войти в систему.
Итак, я решил, что аутентифицированные сеансы не реплицируются как неаутентифицированные сеансы.Это хорошая причина для этого или это указывает на проблему с конфигурацией?