Mezcla de sesiones - apache httpd con mod_jk, tomcat, spring security - sirviendo datos de otro usuario
Recientemente nos hemos enfrentado a un problema serio, a un usuario se le entregaron datos de otro usuario. Este problema es casi imposible de reproducir.
Estamos utilizando la administración de usuarios registrados estándar proporcionada por Spring-security, y estamos seguros de que el problema no es el almacenamiento del usuario en una variable de instancia o cosas similares de concurrencia en nuestra aplicación.
Realmente dudamos que el problema esté en SpringSecurity o Tomcat.
Nuestro servidor frontal es apache httpd, conectado a tomcat a través del conector ajp (mod_jk). No estamos haciendo ningún balanceo de carga (httpd solo se preocupa por SSL, algunas url se reescriben y se sirven algunos módulos php)
Aquí está nuestra configuración:
## 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
Culpamos a httpd / mod_jk de esta combinación de sesiones, por lo que nuestra única solución sería eliminar apache httpd. Pero antes de dejar esta configuración popular y ampliamente utilizada, nos gustaría saber si alguien ha enfrentado un problema similar.
Los únicos problemas similares que he encontrado estaban en carga equilibrada o mod_jk.
¿Alguna vez has enfrentado algún problema similar? Cualquier sugerencia, idea, enlace o experiencia será altamente apreciada. ¡Gracias!