Mrs*_*001 2 php https redirect-loop symfony
在我的Symfony2应用程序中,我设置了防火墙,以便/admin路由下的所有内容都需要通过https运行,但是在部署时我得到一个重定向循环.我已经在防火墙上阅读了Symfony2站点上的文档,并设置了登录表单.我还阅读了一些Stack Overflow文章并尝试了他们的解决方案,但到目前为止还没有.
以下是我的配置,有什么我想念的吗?
(据我所知,服务器正在运行Apache,我无法从托管服务提供商直接访问服务器配置)
access_control:
# require ROLE_ADMIN for /admin*
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/login_check, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/admin*, roles: ROLE_ADMIN, requires_channel: https}
Run Code Online (Sandbox Code Playgroud)
更新:修复了该问题.事实证明,托管服务提供商没有设置一些服务器变量.
为了将来参考,请app.php在web或public_html目录中添加以下内容.可能是一个肮脏的黑客,但它解决了我的问题.
if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
{
$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1697 次 |
| 最近记录: |