zoukankan      html  css  js  c++  java
  • [PHP] 解决laravel 报错:Too Many Attempts

    当使用ab测试工具测试接口的时候

    在日志里看到了很多Too Many Attempts的错误

    这是因为laravel的限流中间件在起作用

    api路由组默认就有在使用限流中间件

    app/Http/Kernel.php

            'api' => [
                'throttle:api',
                IlluminateRoutingMiddlewareSubstituteBindings::class,
            ],
    

      

    throttle就是限流中间件,:冒号后面的是传递的参数“api”

    'throttle:api', 可以把这个去掉

    'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,

        protected $routeMiddleware = [
            'auth' => AppHttpMiddlewareAuthenticate::class,
            'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
            'cache.headers' => IlluminateHttpMiddlewareSetCacheHeaders::class,
            'can' => IlluminateAuthMiddlewareAuthorize::class,
            'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
            'password.confirm' => IlluminateAuthMiddlewareRequirePassword::class,
            'signed' => IlluminateRoutingMiddlewareValidateSignature::class,
            'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
            'verified' => IlluminateAuthMiddlewareEnsureEmailIsVerified::class,
        ];

    "api" 就是限流的一个key

     appProvidersRouteServiceProvider.php

        protected function configureRateLimiting()
        {
            RateLimiter::for('api', function (Request $request) {
                return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
            });
        }

    根据ip限制,每分钟60次

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com

    赞赏作者

    微信交流

  • 相关阅读:
    GO语言网络编程
    GO语言测试
    GO语言反射
    GO语言strconv包的使用
    GO语言并发
    Centos7 开启swap分区
    设计模式 之 命令模式
    设计模式 之 代理模式
    设计模式 之 工厂模式
    设计模式 之 观察者模式
  • 原文地址:https://www.cnblogs.com/taoshihan/p/15149713.html
Copyright © 2011-2022 走看看