如果网络服务器没有安装加密层,Laravel 5.7 不会生成 HTTPS 路由

标签 laravel ssl laravel-5 laravel-middleware laravel-5.7

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

具有指向多个 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/

相关文章:

java - HttpClientBuilder 问题 : Could not initialize class sun. security.ssl.SSLContextImpl$CustomizedTLSContext

c# - 更新 SSL 设置后无法通过 SMTP 发送电子邮件

php - BitTorrent:下载未开始

php - 尝试在不使用数据库的情况下制作 SEO 友好的网址

css - 如何在 Linux 上修复 Laravel 元素中的 css 链接?

javascript - 使用在动态表单字段中选择的 jQuery

php - 如何在不修改过程中获得 Carbon 实例的开始和/或结束?

c - 非阻塞 BIO_do_connect 在没有互联网连接时阻塞

mysql - 我如何使用 laravel 中的联合来创建查询搜索

php - Laravel Eloquent hasMany\hasOne 限制 parent 对有记录的 child