lukasz-adamski/laravel-cloudflare

Laravel 框架的服务提供者,用于自动加载 Cloudflare 信任代理的 IP 地址范围。

dev-master 2018-10-06 18:12 UTC

This package is auto-updated.

Last update: 2024-09-08 21:12:45 UTC


README

本包开发用于为 Laravel 框架请求提供 Cloudflare 信任代理支持。Cloudflare 使用的 IP 地址范围列表可在此找到:(https://www.cloudflare.com/ips/)。

安装

  1. 使用以下命令安装 composer 包
composer require lukasz-adamski/laravel-cloudflare
  1. config/app.php 中添加服务提供者
Adams\Cloudflare\CloudflareServiceProvider::class,
  1. app/Http/Kernel.php 中添加中间件到您的项目中。您可以将此中间件放在任何位置,但如果项目由 Cloudfare 反向代理托管,则最好将其注册到 $middleware 变量中的所有请求。
\Adams\Cloudflare\Moddleware\TrustProxies::class,
  1. 运行 artisan 命令以从 Cloudflare 加载最新的 IP 地址
php artisan cloudflare:reload

可用命令

此包不会自动加载 Cloudflare IP 地址。要执行此操作,您可以使用两个已注册的命令

  • cloudflare:reload - 此命令加载当前 Cloudflare 代理 IP 地址列表并永久存储在应用程序缓存中
  • cloudflare:view - 此命令显示从 Cloudflare 加载的 IP 地址列表

自动刷新

如果您想自动刷新 Cloudflare IP 地址范围,可以在应用程序中安排 cloudflare:reload 命令。为此,打开 app/Console/Kernel.php 并按如下修改 schedule 函数

/**
 * Define the application's command schedule.
 *
 * @param \Illuminate\Console\Scheduling\Schedule $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
    $schedule->command('cloudflare:reload')
        ->daily();
}