URL :: forceSchema在登录前无法正常工作

时间:2017-11-03 16:28:48

标签: laravel https

我正在使用URL::forceSchema('https')在我的Laravel 5.3应用程序上强制使用SSL。但是,它仅在登录后才起作用(即使登录页面未被https覆盖)。

我正在使用TrustedProxy以下配置:

'headers' => [
        (defined('Illuminate\Http\Request::HEADER_FORWARDED') ? Illuminate\Http\Request::HEADER_FORWARDED : 'forwarded') => null,
        \Illuminate\Http\Request::HEADER_CLIENT_IP    => 'X_FORWARDED_FOR',
        \Illuminate\Http\Request::HEADER_CLIENT_HOST  => null,
        \Illuminate\Http\Request::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO',
        \Illuminate\Http\Request::HEADER_CLIENT_PORT  => 'X_FORWARDED_PORT',
    ]

1 个答案:

答案 0 :(得分:2)

我终于通过将以下代码添加到AppServiceProvider的 register 方法来实现它。

if (env('APP_ENV') === 'production') {
   $this->app['request']->server->set('HTTPS', true);
}

来源:https://laracasts.com/discuss/channels/laravel/force-ssl-secure-routes-in-laravel-52?page=1