csun-metalab/laravel-force-https

一个为Laravel 5.0及以上版本设计的Composer包,用于强制在URL中使用HTTPS

1.0.1 2020-08-12 14:54 UTC

This package is auto-updated.

Last update: 2024-09-26 04:02:29 UTC


README

一个用于通过中间件强制在URL中使用HTTPS的Composer小包,适用于Laravel 5.0及以上版本。

目录

安装

Composer、环境和服务提供者

Composer

要从Composer安装,请使用以下命令

composer require csun-metalab/laravel-force-https

环境

现在,将以下行添加到您的.env文件中

FORCE_HTTPS=true

这将启用强制功能。

服务提供者

将服务提供者添加到Laravel中的config/app.php文件中的providers数组中,如下所示

'providers' => [
   //...

   CSUNMetaLab\ForceHttps\Providers\ForceHttpsServiceProvider::class,

   // You can also use this based on Laravel convention:
   // 'CSUNMetaLab\ForceHttps\Providers\ForceHttpsServiceProvider',

   //...
],

中间件安装

将中间件添加到app/Http/Kernel.php文件中的$middleware数组中,以将其应用于应用程序接收到的所有请求

protected $middleware = [
	//...

	CSUNMetaLab\ForceHttps\Http\Middleware\ForceHttps::class,

	// You can also use this based on Laravel convention:
	// 'CSUNMetaLab\ForceHttps\Http\Middleware\ForceHttps',

	//...
];

发布所有内容

最后,运行以下Artisan命令以发布所有内容

php artisan vendor:publish

以下资产已发布

  • 配置(标记为config)- 这些将放入您的config目录

所需环境变量

您已将控制应用程序流量使用的协议的环境变量添加到.env文件中。

FORCE_HTTPS

是否在所有URL上强制使用HTTPS。默认为false,以防止在安装时直接强制HTTPS导致意外问题。

中间件

强制HTTPS中间件

此类的命名空间为CSUNMetaLab\ForceHttps\Http\Middleware\ForceHttps

该中间件执行以下步骤

  1. 检查应用程序配置是否请求强制HTTPS流量
  2. 如果是,则执行以下步骤
    1. 将请求URI解析为绝对URL,以便它也可以看到协议
    2. 检查HTTPS服务器变量是否为非空值或设置为off
    3. 如果协议不是https:,则将其替换为https:并返回重定向
  3. 如果不是,则将请求实例传递到管道中的下一个配置的中间件

资源

中间件