【问题标题】:How to force Laravel to generate https link?如何强制 Laravel 生成 https 链接?
【发布时间】:2016-01-29 01:19:23
【问题描述】:

我正在使用 cloudflare CDN 来“增强”我的网站,并且我正在使用它的完整 SSL 来为我的网站提供更好的安全性。但是,我经常在我的网站上遇到error 523。我已经咨询过 cloudflare 和托管公司的帮助,但他们都说他们这边没有问题。所以,我必须自己做实验来解决这个问题。

现在,我尝试将完整的 SSL 转换为 flexi SSL。因为服务器和 Cloudflare 之间的连接是通过不安全的连接(http)完成的,所以 laravel 生成的链接都是http 格式。这带来的问题是我的所有 CSS 和 JS 都无法在 Firefox 上加载并返回错误消息 Blocked loading mixed active content

那么,如何强制 Laravel 生成带有 https 连接的 URL?

【问题讨论】:

  • 我不知道laravel。但我认为你可以通过htaccess 做到这一点。见this
  • 您当前的代码看起来如何?
  • @patricus 我的代码看起来像这样asset('css/bootstrap.min.css')url($language.'/index')

标签: php ssl https laravel-5 cloudflare


【解决方案1】:

您可以在路由中强制执行https,例如:

Route::get('order/details/{id}', ['uses' => 'OrderController@details', 'as' => 'order.details', 'https']);

【讨论】:

    【解决方案2】:

    asset()url() 辅助方法都将 $secure 布尔值作为最后一个参数。如果您将其作为true 传递,这些方法将生成安全网址:

    // pass true as second parameter to asset
    asset('css/bootstrap.min.css', true)
    
    // pass true as third parameter to url
    url($language.'/index', [], true)
    

    【讨论】:

      猜你喜欢
      • 2016-10-17
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多