Symfony2重定向到https路由失败(使用错误端口)
我设置了symfony,以便登录/注册是https路由,可以正常工作。当用户在注销时被重定向到登录页面时,问题就出现了,这里symfony2重定向到Symfony2重定向到https路由失败(使用错误端口),symfony,Symfony,我设置了symfony,以便登录/注册是https路由,可以正常工作。当用户在注销时被重定向到登录页面时,问题就出现了,这里symfony2重定向到https://domain.com:80/login使用了错误的端口并出现故障。我发现解决这个问题的唯一方法是在这样的配置中放置绝对URL logout: path: /logout target: https://www.domain.com/login 但我相信一定有更好的方法来解决这个问
https://domain.com:80/login
使用了错误的端口并出现故障。我发现解决这个问题的唯一方法是在这样的配置中放置绝对URL
logout:
path: /logout
target: https://www.domain.com/login
但我相信一定有更好的方法来解决这个问题
知道需要做什么吗
谢谢:)这发生在任何重定向上,例如从没有破折号的url重定向到带有破折号的url,它将重定向到正确的协议(https),但重定向到错误的端口(80)。看来Symfony路由依赖于服务器的全局端口,而不是请求URI中指定的端口。因此,我唯一的修复方法是在app.php中的symfony2启动之前设置它,
$\u SERVER['SERVER\u PORT']=443;
hack,但它现在正在工作。如果您使用的是nginx,则此螨虫可以解决此问题:
缺少fastcgi参数:
fastcgi_param HTTPS on;
如果您使用的是varnish,请在app.php中添加以下内容:
$_SERVER['HTTP_X_FORWARDED_PORT'] = 443;
谢谢,我使用了nginx+phpfpm并添加了HTTPS参数,解决了这个问题!我遇到了一个类似的问题,因为我将HTTP和SSL放在同一个nginx服务器配置条目中,并在其中设置了“fastcgi_param HTTPS on”。所以访问“/protected”重定向到。。。拆分为两个独立的nginx服务器配置(站点中有两个独立的文件可用)工作正常。