2

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

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

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

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

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

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

任何的想法?

4

2 回答 2

4

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

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

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

于 2018-09-26T12:22:49.570 回答
2

设法使用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;
于 2018-09-26T13:10:47.277 回答