首页 > 解决方案 > 如果网络服务器没有安装加密层,Laravel 5.7 不会生成 HTTPS 路由

问题描述

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

带有指向多个 docker 容器的 nginx 反向代理的服务器。我们的 Laravel 5.7 应用程序使用 nginx + php7.2 FPM 在这些容器之一中运行

docker 内部的网络服务器应该向反向代理发送一个不安全的响应,使其在外层是安全的。

容器化的网络服务器监听 80。

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

我还尝试了其他一些技巧,sslizing 中间件等,但它们似乎都不起作用。

任何的想法?

标签: laravelssllaravel-5laravel-middlewarelaravel-5.7

解决方案


您应该在中间件https://github.com/laravel/laravel/blob/master/app/Http/Middleware/TrustProxies.php中填写$proxies属性,例如:TrustProxies

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

您可以在配置受信任的代理部分了解更多信息


推荐阅读