Laravel Https is package is created to check for Secure HTTP requests. Laravel Https provides a middleware to force redirection to HTTPS Protocol.
You can install the package via composer:
composer require benjaber-98/laravel-https
You can publish the config file with:
php artisan vendor:publish
Then choose the number of package service provider from the list.
This is the contents of the published config file:
<?php
return [
'force_in_local' => env('FORCE_HTTPS_IN_LOCAL', false),
];
By default package is disabled in local environment, if you want to turn it on you can set FORCE_HTTPS_IN_LOCAL
in .env
file like this:
FORCE_HTTPS_IN_LOCAL=true
- Add
\Benjaber98\LaravelHttps\Middlewares\ForceHttpMiddleware::class
to your Kernel file like this:
// app/Http/Kernel.php
...
//use it globally for all requests
protected $middleware = [
...
\Benjaber98\LaravelHttps\Middlewares\ForceHttpMiddleware::class,
];
...
// Or use it globally for all web requests
protected $middlewareGroups = [
'web' => [
...
\Benjaber98\LaravelHttps\Middlewares\ForceHttpMiddleware::class,
],
...
//Or register it to use in routes
protected $routeMiddleware = [
...
'force_https' => \Benjaber98\LaravelHttps\Middlewares\ForceHttpMiddleware::class,
];
Route::group(['middleware' => ['force_https']], function () {
Route::get('/', ['PageController', 'index']);
});
Route::get('/', ['PageController', 'welcome'])->middleware('force_https');
- You can include the
force_https
middleware in the constructor of your controller file.
public function __construct()
{
$this->middleware('force_https');
}
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.