【发布时间】:2013-11-25 09:47:57
【问题描述】:
根据我的研究,为了确保所有 cookie 的安全,需要修改 server.xml,但 heroku 的 webapp 运行程序不允许您访问它。有没有办法通过 servlet 过滤器或一些 spring mvc 过滤器来做到这一点?
【问题讨论】:
标签: java spring spring-mvc heroku
根据我的研究,为了确保所有 cookie 的安全,需要修改 server.xml,但 heroku 的 webapp 运行程序不允许您访问它。有没有办法通过 servlet 过滤器或一些 spring mvc 过滤器来做到这一点?
【问题讨论】:
标签: java spring spring-mvc heroku
如果可以,请要求 HTTPS——在这种情况下,Tomcat 会做正确的事情(至少使用会话 cookie——请参阅How to flag session cookie as secure (https only) in tomcat 6)。在 Heroku 上,诀窍是确保 Tomcat 知道请求是安全的 - 默认情况下,在 Heroku 上它不知道,因为入站请求是代理的,并且 SSL 在路由网格中处理。即,request.isSecure() 将返回 false
但是,webapp-runner 允许您指定 context.xml;在那里您可以配置RemoteIpValve,以便Tomcat 将获取各种x_forwarded 标头并相应地调整请求(即,如果向路由网格发出HTTPS 请求,request.isSecure() 现在将为真,即使仅通过Tomcat将请求视为 HTTP。我做了类似的事情,记录在这里:SSL redirects in Heroku
希望对您有所帮助。
【讨论】: