mik*_*ika 5 https reverse-proxy symfony
在控制器中,我一直在使用方法getSchemeAndHttpHost来构建另一个控制器的url.
一切都运行顺利,直到我需要通过https.我使用getSchemeAndHttpHost函数获得的所有URL仍然是http.做了一些故障排除,结果是当我用https和http请求页面时,getScheme函数总是返回http.
我错过了什么 ?
我怎么知道我的控制器是通过http还是https?
编辑 - 更多信息
简答
在控制器中添加以下行:
Request::setTrustedProxies(array($request->server->get('REMOTE_ADDR')));
Run Code Online (Sandbox Code Playgroud)
更多细节
一些调查后,我发现这有做代理...如果我们检查一下的isSecure功能是干什么的,我们发现这个:该请求方法isFromTrustedProxy被调用,以确定是否真的还是假的,应退还。
一旦我们知道问题与代理有关,symfony 文档就会详细解释我们应该如何信任代理或如何管理负载均衡器或反向代理。就我而言,当我使用 heroku 时,信任传入的 ip是要走的路。
| 归档时间: |
|
| 查看次数: |
1855 次 |
| 最近记录: |