![](/img/trans.png)
[英]Error with HTTPS for routes in Laravel 4.2 - assets load fine over HTTPS
[英]Laravel not using https for assets and dynamic routes
我已经更改了我的APP_URL = https://example.com ,我已将其添加到我的AppServiceProvider的启动方法中:
/** Enable HTTPS */
if(env('REDIRECT_HTTPS')) {
$url->forceSchema('https');
}
我运行php artisan cache:clear
, php artisan view:clear
和php artisan config:clear
。 我仍然无法获得使用https的资产和动态路由。 刚收到错误:
混合内容:“ https://example.com/ ”页面是通过HTTPS加载的,但请求了一个不安全的样式表“ http://example.com/css/app.css ”。 此请求已被阻止; 内容必须通过HTTPS提供。
我知道我可以使用secure_asset
而不是asset
,这应该可行,但我需要这是动态的,因为我仍然需要在另一个域上提供网站的http版本。
asset()
帮助程序依赖于几种可能性来确定是否建立HTTP或HTTPS URL:
$_SERVER['HTTPS']
正在on
。 这是Apache的做事方式。 对于nginx,您可以在配置中自己设置该服务器参数。 $_SERVER['HTTP_X_FORWARDED_PROTO']
是https
。 如果你是负载平衡器的后面,它可能会发送X-Forwarded-Proto
标头,但Laravel默认不信任它,因为在某些情况下它可以由恶意用户设置。 您可以使用TrustedProxy包告诉Laravel信任来自负载均衡器的此标头。 (编辑:现在内置于Laravel )
另请参阅: Symfony2:getScheme不返回'https' (Laravel使用Symfony的getScheme()
函数)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.