URL :: forceSchema在登录前不起作用 [英] URL::forceSchema not working before login

查看:228
本文介绍了URL :: forceSchema在登录前不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用URL::forceSchema('https')强制在Laravel 5.3应用程序上使用SSL.但是,它仅在登录后才能使用(即使登录页面未包含https).

I'm using URL::forceSchema('https') to force SSL on my Laravel 5.3 application. However, it only works after login (even the login page isn't being covered with 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',
    ]

推荐答案

我终于通过将以下代码添加到AppServiceProvider的 register 方法中使它正常工作.

I finally got it working by adding the following code to register method of AppServiceProvider.

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

这篇关于URL :: forceSchema在登录前不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆