代码之家  ›  专栏  ›  技术社区  ›  Rápli András

如果Web服务器没有安装加密层,Laravel5.7不会生成HTTPS路由

  •  1
  • Rápli András  · 技术社区  · 7 年前

    当前的服务器设置如下所示。

    我们的laravel5.7应用程序运行在其中一个带有nginx+php7.2fpm的容器中

    docker内部的Web服务器应该将一个不安全的响应交给反向代理,这使得它在外层是安全的。

    所有由Laravel生成的URL都是HTTP,即使在config/app.php app\u URL设置中协议被明确指定为HTTPS。

    我也尝试过一些其他的技巧,例如ssz中间件之类的,但是它们似乎都不起作用。

    你知道吗?

    2 回复  |  直到 7 年前
        1
  •  4
  •   Marcin Nabiałek    7 年前

    你应该填补 $proxies 中的属性 TrustProxies https://github.com/laravel/laravel/blob/master/app/Http/Middleware/TrustProxies.php

    protected $proxies = [
      'ip1',
       'ip2',
    ];
    

    你可以阅读更多关于它的文章 Configure Trusted proxies section

        2
  •  2
  •   Rápli András    7 年前

    TrustProxies 以及修改nginx配置。我将在这里留下相应的代理设置,如果它在将来有帮助:

    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Host $server_name;
    proxy_set_header   X-FORWARDED-PROTO https;
    
    推荐文章