heroku 此请求已被阻止;内容必须通过HTTPS提供

bvjxkvbb  于 2023-01-13  发布在  其他
关注(0)|答案(5)|浏览(165)

我刚刚在heroku上部署了一个应用程序,它没有按预期渲染。检查控制台后,我收到了以下错误。我该如何修复此错误?
Mixed Content: The page at 'https://photography-web-by-alphy.herokuapp.com/' was loaded over HTTPS, but requested an insecure stylesheet 'http://photography-web-by-alphy.herokuapp.com/css/style.css'. This request has been blocked; the content must be served over HTTPS.

1rhkuytd

1rhkuytd1#

1.我使用了安全资产助手功能。<link rel="stylesheet" href="{{ secure_asset('css/style.css') }}">
1.我将.env文件中的APP_URL从http更新为https。然后在heroku上的配置变量中,我将KEY添加到APP_URL,并且我提供的值与.env中的APP_URL相同,然后重新部署应用程序,现在它工作正常,没有错误!

2uluyalo

2uluyalo2#

当你的文档作为HTTPS的时候,其他的资源也必须作为HTTPS调用,比如css,js images等等。
所以,只要尝试用https://导入css...问题就会解决。

jhiyze9q

jhiyze9q3#

不使用资产,则不会强制执行任何协议

<link rel="stylesheet" href="/css/style.css">

或者,最好配置“受信任代理”设置以检测所需的协议。
https://laravel.com/docs/8.x/requests#configuring-trusted-proxies

pdsfdshx

pdsfdshx4#

要在Laravel中强制HTTPS,您应该在App\Providers\AppServiceProvider中添加:

public function register()
    {
    if(config('app.env') === 'production') {
            $this->app['request']->server->set('HTTPS', true); 
    }
}

注意:在.env中,将APP_ENV=本地更改为APP_ENV=生产

vvppvyoh

vvppvyoh5#

要在Laravel中强制HTTPS,您应该在App\Providers\AppServiceProvider中添加:

/**
     * Bootstrap any application services.
     */
    public function boot()
    {
        if (!App::environment([
            'local',
            'testing',
        ])) {
            URL::forceScheme('https');
        }
    }

相关问题