Mat*_*all 6 heroku mochiweb playframework
我正在Heroku上部署一个应用程序,并尝试确定进入的请求是否安全(request.secure).这最初在heroku上返回false,因为nginx处理SSL工作并通过普通http与app服务器通信.所以为了让游戏读取让我知道这是一个安全的请求,我添加:
XForwardedSupport = 127.0.0.1
按照播放留言板中的建议添加到application.conf.但是,所有请求(图像除外)都会失败,没有错误.在点击播放日志之前,这似乎是一些根本性的事情.有没有人经历过这个?
我不认为Play支持通过XForwardedSupport
配置参数在Heroku上转发(代理)请求的方式.这需要设置为Heroku负载均衡器的地址,并且没有办法配置预运行时.相反,您应该只查看x-forwarded-proto
请求标头以确定对Heorku负载均衡器的请求是否通过http
或https
.也许是这样的:
Boolean secure = false;
if (request.headers.get("x-forwarded-proto") != null) {
secure = request.headers.get("x-forwarded-proto").values.contains("https");
}
System.out.println("secure = " + secure);
Run Code Online (Sandbox Code Playgroud)
BTW:Heroku的雪松堆栈不使用Nginx.它使用MochiWeb,一个基于Erlang的Web服务器.
归档时间: |
|
查看次数: |
1884 次 |
最近记录: |