Redirect Playframework中HTTPS协议中的重定向控制器方法

Redirect Playframework中HTTPS协议中的重定向控制器方法,redirect,amazon-web-services,playframework-1.x,Redirect,Amazon Web Services,Playframework 1.x,我们使用Play framework 1.2.x 我们使用AmazonELB来处理SSL。因此,从浏览器到Amazon ELB it https的请求。从Amazon ELB播放其http 我们使用将一个控制器方法重定向到另一个控制器方法。所以,当我们执行重定向播放时,当我们通过调用另一个控制器方法(而不是https)执行重定向时,总是发出http请求,因为它只接收http请求。但我想在从一个控制器方法重定向到另一个控制器方法时指定协议将application.conf中的baseUrl属性设置

我们使用Play framework 1.2.x

我们使用AmazonELB来处理SSL。因此,从浏览器到Amazon ELB it https的请求。从Amazon ELB播放其http


我们使用将一个控制器方法重定向到另一个控制器方法。所以,当我们执行重定向播放时,当我们通过调用另一个控制器方法(而不是https)执行重定向时,总是发出http请求,因为它只接收http请求。但我想在从一个控制器方法重定向到另一个控制器方法时指定协议

将application.conf中的baseUrl属性设置为如下内容:

baseUrl=https://myserver.com/myapp    

请将该代码包括在您的
应用程序中。conf

application.baseUrl=https://example.com/
XForwardedSupport=all
XForwardedProto=https
application.session.httpOnly=true
application.session.secure=true

我的应用程序包括以上所有内容,并且已经正确运行了2年。

XForwardedSupport=在没有任何其他配置的情况下为我工作。我不知道为什么它可以在没有XForwardedSupport的情况下与http一起工作,但在使用https时失败。XForwardedProto=https仅在使用反向代理(负载平衡器)时使用,该代理使用https控制,然后使用http与web服务器通信。如果您没有控制HTTPS的反向代理,则可以删除该行。但我认为你可以不带风险地包括在内。:)在我的例子中,终止HTTPS的代理(ELB)包括X-Forwarded-Proto作为HTTPS,play正在正确检测。啊,没错。XForwardedProto只有在ELB没有转发HTTPS播放时才有用。