我需要在实时服务器上设置laravel背包的帮助。
所以起初我在加载资产时遇到了麻烦,因为它使用了http作为图像和CSS
我可以使用我得到的这段代码解决该问题
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
资产正确加载(我检查时显示https://example.com/images/ ...)
但是以某种方式未通过https加载某些关键内容,这是屏幕截图:
出现错误
从原点“ http://example.com/admin/elfinder/connector”到“ https://example.com”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向
这是错误的代码
<!-- This file is used to store sidebar items, starting with Backpack\Base 0.9.0 -->
<li>
<a href="{{ backpack_url('dashboard') }}">
<i class="fa fa-dashboard"></i>
<span>{{ trans('backpack::base.dashboard') }}</span>
</a>
</li>
还有一些没有更新为https的东西,例如一些CSS(来自供应商/ crud),脚本,post方法和徽标
我认为我可以将meta标签复制粘贴到Backpack_url,但我不知道它在哪里或如何工作。
我对此很陌生,任何建议都值得赞赏
谢谢!
答案 0 :(得分:2)
您的Laravel安装似乎认为您正在HTTP
服务器上运行,而客户端的请求是通过HTTPS
发出的
这些问题通常是由于在Laravel前面有代理而导致的。
首先,请确保您的trusted proxy configuration是正确的。这将导致Laravel信任X-Forwarded-Protocol
标头,并进行内生以生成正确的https
URL。
如果无法使代理配置正常工作,则可以始终通过在https
中添加URL来强制生成AppServiceProvider
if($this->app->environment('production')) {
\URL::forceScheme('https');
}