根据我的研究,为了使所有cookie都安全,需要修改server.xml,但是heroku的webapp runner不允许您访问它。有没有办法通过servlet过滤器或一些弹簧mvc过滤器来实现?
答案 0 :(得分:0)
如果可以,请求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
希望有所帮助。