Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony2重定向到https路由失败(使用错误端口)_Symfony - Fatal编程技术网

Symfony2重定向到https路由失败(使用错误端口)

Symfony2重定向到https路由失败(使用错误端口),symfony,Symfony,我设置了symfony,以便登录/注册是https路由,可以正常工作。当用户在注销时被重定向到登录页面时,问题就出现了,这里symfony2重定向到https://domain.com:80/login使用了错误的端口并出现故障。我发现解决这个问题的唯一方法是在这样的配置中放置绝对URL logout: path: /logout target: https://www.domain.com/login 但我相信一定有更好的方法来解决这个问

我设置了symfony,以便登录/注册是https路由,可以正常工作。当用户在注销时被重定向到登录页面时,问题就出现了,这里symfony2重定向到
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服务器配置(站点中有两个独立的文件可用)工作正常。