Смешивание сессии - apache httpd с mod_jk, tomcat, spring security - обслуживание данных другого пользователя
Недавно мы столкнулись с серьезной проблемой, что один пользователь обслуживал данные другого пользователя. Эту проблему практически невозможно воспроизвести.
Мы используем стандартное управление зарегистрированными пользователями, предоставляемое Spring-security, и мы уверены, что проблема не в том, чтобы хранить пользователя в переменной экземпляра или аналогичном параллелизме в нашем приложении.
Мы действительно сомневаемся, что проблема в SpringSecurity или в самом Tomcat.
Наш фронт-сервер - это apache httpd, подключенный к tomcat через коннектор ajp (mod_jk). Мы не занимаемся балансировкой нагрузки (httpd заботится только о SSL, переписывает некоторые URL и обслуживает некоторые модули php)
Вот наша установка:
## OS
OS Name: Linux
OS Version: 2.6.32-5-686
Architecture: i386
## Apache httpd
Server version: Apache/2.2.16 (Debian)
Server built: Sep 4 2011 20:27:42
## mod_jk
mod_jk/1.2.30 (installed via apt-get)
## JVM
JVM Version: 1.6.0_18-b18
JVM Vendor: Sun Microsystems Inc.
## Tomcat
Server version: Apache Tomcat/6.0.28
Server built: February 12 2011 1443
Мы обвиняем httpd / mod_jk в этом смешивании сеанса, поэтому наше единственное решение - удалить apache httpd. Но прежде чем мы оставим эту популярную и широко используемую конфигурацию, мы бы хотели узнать, сталкивался ли кто-либо с подобной проблемой.
Единственные подобные проблемы, которые я обнаружил, были в балансировке нагрузки или mod_jk.
Сталкивались ли вы когда-нибудь с подобной проблемой? Любые намеки, идеи, ссылки или опыт будут высоко оценены. Спасибо!