【问题标题】:Symfony port redirection behind reverse proxy反向代理后面的 Symfony 端口重定向
【发布时间】:2017-10-31 15:30:34
【问题描述】:

我有一个使用 FosUserBundle 的 Symfony 3.2 应用程序(在端口 8443 上运行)。当匿名用户访问“https://[myurl].com:8443”时,他们将被重定向到“https://[myurl].com:8443/login”以进行登录过程。此重定向在访问应用程序时工作正常,但现在,我们希望使用反向代理将来自客户的请求转发到应用程序。客户将使用标准的 https 端口 443。

会发生以下情况:用户使用“https://myurl.com”访问应用程序。
请求由反向代理转发到在端口 8443 上托管应用程序的 Web 服务器 (IIS)。
发出请求的用户被重定向到“https://myurl.com:8443/login”,这不起作用,因为 8443 仅在服务器端打开。

我在 symfony 中尝试了不同的解决方案,但未能成功:
- 在 symfony 中设置反向代理:Request::setTrustedProxies(array('123.456.78.89'));
-设置http_port/https_port in config.yml
-设置$_SERVER['SERVER_PORT'] = 443;

关于如何解决这个问题的任何想法?

谢谢

【问题讨论】:

    标签: php symfony redirect proxy


    【解决方案1】:

    除了@Gor,我认为您还应该配置您的代理以添加 X-Forwarded 标头。在 Nginx 中类似

    location / {
        proxy_pass              http://myurl:8443;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_set_header        X-Forwarded-Port $server_port;
      }
    

    【讨论】:

      【解决方案2】:

      打开以下文件:

      web/app.php

      就在这一行之后:

      $request = Request::createFromGlobals();

      插入此块:

      // tell Symfony about your reverse proxy
      Request::setTrustedProxies(
          // the IP address (or range) of your proxy
          ['192.0.0.1', '10.0.0.0/8'],
      
          // trust *all* "X-Forwarded-*" headers
          Request::HEADER_X_FORWARDED_ALL
      
          // or, if your proxy instead uses the "Forwarded" header
          // Request::HEADER_FORWARDED
      
          // or, if you're using AWS ELB
          // Request::HEADER_X_FORWARDED_AWS_ELB
      );
      

      参见:

      “如何配置 Symfony 以在负载均衡器或反向代理之后工作” http://symfony.com/doc/3.4/deployment/proxies.html

      【讨论】:

        猜你喜欢
        • 2019-11-04
        • 2019-03-14
        • 1970-01-01
        • 2016-11-13
        • 2011-11-10
        • 2013-03-04
        • 1970-01-01
        • 2020-08-12
        • 1970-01-01
        相关资源
        最近更新 更多