Mistura de sessão - apache httpd com mod_jk, tomcat, spring security - servindo dados de outro usuário

Recentemente enfrentamos um problema sério, que um usuário recebeu dados de outro usuário. Este problema é quase impossível de reproduzir.

Estamos usando o gerenciamento padrão de usuários registrados fornecido pelo Spring-security, e temos certeza de que o problema não está em armazenar o usuário na variável de instância ou em coisas de concorrência semelhantes em nosso aplicativo.

Nós realmente duvidamos que o problema esteja no SpringSecurity ou no próprio Tomcat.

Nosso front-server é o apache httpd, conectado ao tomcat via conector ajp (mod_jk). Nós não estamos fazendo nenhum balanceamento de carga (o httpd se preocupa apenas com SSL, algumas URLs reescrevem e servem alguns módulos php)

Aqui está a nossa configuração:

## 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

Nós culpamos o httpd / mod_jk desta mixagem de sessão, então nossa única solução seria remover o httpd do apache. Mas antes de deixarmos essa configuração popular e amplamente usada, gostaríamos de saber se alguém já enfrentou o problema semelhante.

Os únicos problemas semelhantes que encontrei foram em load ballancing ou mod_jk.

Você já enfrentou algum problema semelhante? Quaisquer sugestões, ideias, links ou experiência serão muito apreciados. Obrigado!

questionAnswers(5)

yourAnswerToTheQuestion