Принудительное использование HTTPS в Laravel вызывает перенаправление входа - PullRequest
0 голосов
/ 15 июня 2019

Я использую следующий код в AppServiceProvider для принудительной установки HTTPS при работе над проектом Laravel 5.8:

if(App::environment() === 'production') {
    URL::forceScheme('https');
}

Насколько я понял, forceScheme() заключался в том, что он не делал никаких перенаправлений, он просто поменял http на https в начале ссылок.

Я отслеживаю загрузки страниц через телескоп Laravel и для каждого запроса также выполняет следующие дополнительные запросы:

enter image description here

Итак, 2 вопроса. Мое понимание `forceScheme () неверно? Каков наилучший способ достижения HTTPS без перезагрузки на Laravel 5.8?

Ответы [ 2 ]

0 голосов
/ 15 июня 2019

Добавьте его в AppserviceProvider или создайте связующее ПО для этого

if($this->app->environment('production')) {
    URL::forceScheme('https');
} 

Или используйте .htaccess

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
0 голосов
/ 15 июня 2019

Вы можете сделать это легко с .htaccess.Откройте вашу общую папку и поместите следующий код в файл .htacess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Другое решение:

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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...