当前的服务器设置如下所示。
具有指向多个 docker 容器的 nginx 反向代理的服务器。 我们的 Laravel 5.7 应用程序使用 nginx + php7.2 FPM 在其中一个容器中运行
docker 中的网络服务器应该向反向代理传递一个不安全的响应,这使得它在外层是安全的。
容器化网络服务器监听 80。
即使协议(protocol)在 config/app.php APP_URL 设置中明确指定为 HTTPS,Laravel 生成的所有 URL 都是 HTTP。
我还尝试了一些其他技巧,sslizing 中间件等,但它们似乎都不起作用。
有什么想法吗?
最佳答案
您应该在 TrustProxies
中间件中填写 $proxies
属性 https://github.com/laravel/laravel/blob/master/app/Http/Middleware/TrustProxies.php例如:
protected $proxies = [
'ip1',
'ip2',
];
您可以在 Configure Trusted proxies section 中阅读更多相关信息
关于如果网络服务器没有安装加密层,Laravel 5.7 不会生成 HTTPS 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52517614/