Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在herkou上部署laravel时遇到问题(混合内容)_Laravel_Heroku_Https - Fatal编程技术网

我在herkou上部署laravel时遇到问题(混合内容)

我在herkou上部署laravel时遇到问题(混合内容),laravel,heroku,https,Laravel,Heroku,Https,您好…我正在使用Laravel和jQuery以及bootstrap完成网站的构建,本地运行良好,但当我上传到Heroku文件时,jQuery和bootstrap不工作…在本地使用http工作,但在Heroku中需要https它不工作,但当编写http替代https时,它与本地一样工作,并且显示不工作保护现在任何人都知道我如何允许网站在Heroku中使用https,或者如何解决这个问题 你应该仔细阅读所有的文章 标题为“信任负载平衡器”的部分将解决您的问题 因此: 这意味着dyno接收的请求将在R

您好…我正在使用Laravel和jQuery以及bootstrap完成网站的构建,本地运行良好,但当我上传到Heroku文件时,jQuery和bootstrap不工作…在本地使用http工作,但在Heroku中需要https它不工作,但当编写http替代https时,它与本地一样工作,并且显示不工作保护现在任何人都知道我如何允许网站在Heroku中使用https,或者如何解决这个问题


你应该仔细阅读所有的文章

标题为“信任负载平衡器”的部分将解决您的问题

因此:

这意味着dyno接收的请求将在REMOTE_ADDR环境变量中具有最后一个路由器的IP地址,并且始终使用HTTP协议发出内部请求,即使原始请求是通过HTTPS发出的

Laravel看到HTTP请求进入应用程序,因此它为各种路由和资源URL提供HTTP URL。据它所知,您正在通过HTTP进行浏览。修复方法是信任应用程序的
app\Http\Middleware\TrustProxies
中间件中Heroku的“forwarded for”头:

<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Fideloper\Proxy\TrustProxies as Middleware;
class TrustProxies extends Middleware
{
    protected $proxies = '*';
    protected $headers = Request:: HEADER_X_FORWARDED_AWS_ELB;
}

不久前我自己也遇到过这个问题,有几种选择,有些比其他选择更严厉。如果您想确保一切都是https无例外,请首先将您的
应用程序URL
更新为“”,然后在AppServiceProvider的引导方法中添加
URL::forceScheme('https')


不那么繁重的选项是找到您使用
asset()
帮助程序的所有位置,并将其改为
secure\u asset
。资产助手应该使用您的应用程序URL来知道请求是https,但根据我的经验,我不能依赖于此,因此请使用安全资产来确保

参见:这是否回答了您的问题?七小时前你问了一个非常类似的问题☝️. 耐心点。我们大部分是志愿者,可能需要一些时间才能得到回复。我很抱歉打扰你,因为我已经忙了一天多的时间来解决这个问题,但是我不能非常感谢你,我使用的应用程序url不工作,我以前尝试过,但现在尝试你的答案安全资产工作正常