在herkou上部署laravel时出现问题(混合内容)

时间:2020-02-19 17:34:46

标签: laravel heroku https

你好...我完成了使用Laravel和jQuery构建网站并进行引导的操作,但在本地运行良好,但是当我将jQuery和Bootstrap文件上传至Heroku时…在本地使用http进行了操作,但在Heroku中需要https不能正常工作但是当写HTTP替代https时,它可以像本地一样很好地工作,并显示“不安全..”。现在,任何人都知道我如何在Heroku中允许使用https的网站或如何选择此问题

enter image description here

2 个答案:

答案 0 :(得分:0)

您应该仔细阅读Heroku's guide to getting started with Laravel的全部内容。

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

因此,

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

Laravel看到HTTP请求进入该应用程序,因此它为您的各种路由和资产URL提供HTTP URL。据了解,您正在通过HTTP浏览。解决方法是在应用程序的<?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; } 中间件中信任Heroku的“ forwarded for”标头:

d = df.set_index('msg')['reply'].to_dict()
...
        try:
        x = next(v for k, v in d.items() if last_msg() in k)
    except StopIteration:
        x = 'Error, input not listed'

答案 1 :(得分:0)

我本人早有此问题,有一些选择,而有些则比其他选择更为繁重。如果要确保所有内容始终都是https,无例外,请先将APP_URL更新为“ https://example.com”,然后在AppServiceProvider的启动方法中添加Url::forceScheme('https');

不那么费力的选择是找到使用asset()帮助程序的所有位置,然后将其更改为secure_asset。资产助手应该使用您的APP_URL知道请求为https,但是根据我的经验,我不能依靠它,所以请使用secure_asset来确保