Laravel 包含来自混合内容的 css 文件

Laravel include css file from Mixed Content

我正在尝试在负载平衡器后面的服务器上发布 Laravel 网站。域 SSL 托管在负载均衡器上以强制执行 HTTPS。但是,托管该网站的服务器没有 SSL。这会导致请求资产时 HTTPS 和 HTTP 不匹配。

在服务器上时,网站运行完美。 (localhost/CentralizedSettings/login) 在服务器外部请求时(https://blahSite.com/CentralizedSettings/login),css 文件被涂黑并且出现此错误:

错误信息:

Mixed Content: The page at 'https://blahSite.com/CentralizedSettings/login' was loaded over HTTPS, 
but requested an insecure stylesheet 'http://blahSite.com/CentralizedSettings/css/app.css'. 
This request has been blocked; the content must be served over HTTPS.

head.blade.php

<link href="{{ asset('css/app.css') }}" rel="stylesheet" type="text/css" />

.env 文件:

APP_ENV=local
APP_URL=https://blahSite.com/CentralizedSettings

我尝试过的事情:

- Adding the APP_URL to the .env file
- Changing the url to localhost
- Using asset(mix('css/app.css'))

我认为解决方案是在生产中强制使用 https:

<?php

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\URL;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        if($this->app->environment('production')) {
            URL::forceScheme('https');
        }
    }
}

另一个解决方案是使用 ASSET_URL :

.env

ASSET_URL=https://example.com

.env.local

ASSET_URL=http://local.example.com