使用 shiro 保护的 Nginx 代理到 tomcat7 webapp

使用 shiro 保护的 Nginx 代理到 tomcat7 webapp

因此,我在专用服务器上的 Tomcat7 中运行了一个 Java (Spring 4 + Shiro) Web 应用程序。我正在尝试配置 Nginx,以便只需访问 www.example.com 而不是 www.example.com/webappname 即可访问我的应用程序。

使用以下配置:

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

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

}

当我访问 www.example.com/webappname 时,一切运行正常。我可以登录,一切运行顺利。

当我改为:

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

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

我可以通过 www.example.com 轻松访问应用程序,shiro 自动redirects to www.example.com/login;jsessionid=CE70703C4BFBF7A258E4926324D5ECD2 登录,但点击里面的任何链接都会再次返回登录页面,就好像没有 cookie 一样。我搞不懂。有什么建议吗?

相关内容