Так как последнее время почти не осталось сайтов, работающих по незащищённому протоколу 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://
.
Надеюсь, кому-то эта информация помогла. =)
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)