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