Che*_*Lin 8 php laravel laravel-helper
使用asset如下的帮助函数:
<script src="{{ asset('/assets/js/jquery-2.1.1.min.js') }}"></script>
Run Code Online (Sandbox Code Playgroud)
会得到的
<script src="http://xxx.xxx.com/assets/js/jquery-2.1.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
是否有任何laravel内置解决方案可以让它成为现实
<script src="//xxx.xxx.com/assets/js/jquery-2.1.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
http和https协议正确显示?
[编辑]
我知道Laravel通常会正确地检测到协议,但是在负载均衡器后面却没有.所以我仍然在寻找解决方案.
仅当请求被视为安全时,Laravel才会创建安全链接.
如果非httpS流量来自"可信代理",那么Laravel已经有办法将非httpS流量视为"安全".
您可以在应用程序服务提供程序中声明此类可信代理,如下所示:
Request::setTrustedProxies(array( '199.27.128.0/21', 'some other range'));
Run Code Online (Sandbox Code Playgroud)
另外,请确保您的负载均衡器正确设置以下标头:
Host, X-Forwarded-Host, X-Forwarded-Port, X-Real-IP, X-Forwarded-For and X-Forwarded-Proto
Run Code Online (Sandbox Code Playgroud)
像Cloudflare这样的"公共"代理已经做到了这一点.
基本上,这里的一点是客户端连接在其中一个前端服务器(作为代理)终止,因此我们必须将来自该服务器的通信声明为受信任,以便laravel使用来自代理服务器的头而不是readed localy的值.
这样做可以启用Request :: isSecure()或Request :: ip()等函数来返回一致的结果.
| 归档时间: |
|
| 查看次数: |
2098 次 |
| 最近记录: |