首页 > 解决方案 > 强制 URL::to('') 在 HTTPS 而不是 HTTP 中打开

问题描述

我第一次使用 Laravel,我的新客户端刚刚切换到 HTTPS。

由于在 HTTP 而不是 HTTPS 中打开文件和图像,我在他的站点的控制台中发现了很多混合内容错误。

我检查了他的 config/app.php 并且他已经有了:

'url' => 'https://www.Domain.co',

但是当我检查代码时,有一个混合内容错误,有一个 URL::to('')在没有 https 的情况下呈现域。

知道如何解决吗?

标签: laravelhttps

解决方案


这些问题通常是由于在 Laravel 前面有代理而发生的。

作为第一个呼叫点,请确保您的可信代理配置正确。这将导致 Laravel 信任X-Forwarded-Protocol标头,并让实习生生成正确的httpsURL。

如果您无法使代理配置正常工作,您始终可以https通过将其添加到您的AppServiceProvider

if($this->app->environment('production')) {
    \URL::forceScheme('https');
}

推荐阅读