我正在使用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',
]
答案 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