【发布时间】:2013-01-09 06:26:52
【问题描述】:
我有一个在 tomcat 上运行的 grails 应用程序,我正在使用 mod_proxy 将 http 服务器与其连接。我的目标是保护登录过程。
我强制 https 的 VirtualHost 配置是:
ProxyPass /myapp/ http://127.0.0.1:8080/myapp
ProxyPassReverse /myapp/ http://127.0.0.1:8080/myapp
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(myapp/login) https://%{HTTP_HOST}:443/$1 [NC,R=301,L]
当我转到 https://mydomain.com/myapp/adm - 这需要身份验证 - 它重定向到 http://mydomain.com/myapp/login/auth;jsessionid=yyyyyy,没有安全性,因此重写不起作用(如果我手动将 http 替换为 https,它工作正常)。
有什么提示吗?
【问题讨论】:
-
你能检查 grails.serverURL 吗?它使用 https 吗?
-
不,它没有。我不需要通过 https 访问整个应用程序(我认为这是正确的吗?)
-
你在使用spring security吗?
-
是的,我使用的是 spring security(和 grails 2.1.x)
-
试试这个答案中的解决方案:stackoverflow.com/a/13152698/166062
标签: apache tomcat grails mod-rewrite mod-proxy