Так как последнее время почти не осталось сайтов, работающих по незащищённому протоколу HTTP, а подключение SSL-сертификата на современных хостингах осуществляется бесплатно и буквально в один клик, то имеет смысл разобраться с тем, как осуществляется настройка Laravel на работу по защищённому протоколу HTTPs. Изначально при установке из коробки Laravel работает так, как настроен сервер, но при генерировании ссылок средствами ядра фрейморка приводит к тому, что абсолютные ссылки генерируются с протоколом HTTP. Что конечно — ни в какие ворота!...
Однако не требуется каких-то специальных навыков или умений для работы с Laravel для того, чтобы настроить его правильно работать с протоколом HTTPs (при условии конечно, что у вас SSL-сертификат настроен, как и сервер, который должен правильно обрабатывать запросы и отправлять ответы по этому протоколу. Но, как я и написал выше, для этого сейчас даже мышки не надо - с говорильника можно носом кликнуть по одной кнопке (если рук нет или они чем-то более полезным заняты).
Итак, для подключения Laravel в работу по HTTPs протоколу нужно в файл провайдера AppServiceProvider.php
прописать:
- Использование библиотеки
URL
в начале файла:
use Illuminate\Support\Facades\URL;
- И подключить функцию её класса в загрузчик boot:
URL::forceScheme('https');
В результате в файле по адресу:
/app/Providers/AppServiceProvider.php
Должно получиться что-то такое:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
URL::forceScheme('https');
}
}
После этого при работе с формированием абсолютных ссылок Laravel больше не будет выкидывать сюрпризы в виде http://
.
Надеюсь, кому-то эта информация помогла. =)
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)