Proxy Nginx para la aplicación web Tomcat7 protegida con Shiro

Proxy Nginx para la aplicación web Tomcat7 protegida con Shiro

Tengo una aplicación web Java (Spring 4 + Shiro) ejecutándose en Tomcat7 en un servidor dedicado. Estoy intentando configurar Nginx para que se pueda acceder a mi aplicación simplemente yendo a www.example.com en lugar de www.example.com/webappname.

Con esta configuración:

server {
   server_name www.example.com example.com;

   location / {
     proxy_pass http://localhost:8080/;
   }

}

Todo funciona bien cuando voy a www.example.com/webappname. Puedo iniciar sesión y todo funciona sin problemas.

Cuando cambio a:

server {
       server_name www.example.com example.com;

       location / {
         proxy_pass http://localhost:8080/mywebappname/;
         proxy_redirect http://localhost:8080/mywebappname/ /;
       }        
    }

Puedo acceder a la aplicación simplemente a través de www.example.com, shiro automáticamente redirects to www.example.com/login;jsessionid=CE70703C4BFBF7A258E4926324D5ECD2 puedo iniciar sesión, pero luego al hacer clic en cualquier enlace dentro termino en la página de inicio de sesión nuevamente como si las cookies no estuvieran allí o algo así. No puedo entender esto. ¿Algún consejo?

información relacionada