Eu configurei uma instância do tomcat com o SPNEGO para executar a autenticação do usuário. Quando eu acesso a porta do tomcat diretamente, isso faz com que o meu navegador solicite o meu nome de usuário e senha, que eu forneço e qual valida corretamente.
Até agora eu não o convenci a fazer o handshake silencioso do SPNEGO / Kerberos e me autenticar sem precisar digitar credenciais, mas isso é outro problema. :)
Estou usando o Apache httpd com mod_proxy para que eu possa acessar a porta 80/443 e receber resposta de várias instâncias do tomcat em portas diferentes. ou seja,
ProxyPass /api/v1 http://localhost:18080/api/v1
ProxyPassReverse /api/v1 http://localhost:18080/api/v1
ProxyPass /myapp http://localhost:28080/myapp
ProxyPassReverse /myapp http://localhost:28080/myapp
O problema que tenho é que quando eu acesso o site através do proxy reverso httpd, não há aperto de mão com o meu navegador. Em vez disso, estou sendo autenticado como a conta na qual o httpd está sendo executado. ou seja, "www".
Alguém sabe que configuração mod_proxy (ou outra) eu preciso ajustar para permitir que o tomcat realize a autenticação do usuário ao usar o mod_proxy?
Ou há uma maneira melhor de fazer isso?
Tags tomcat tomcat7 apache-2.2 httpd