Laravel API 调用 429 Too Many Requests 问题的解决

后台项目用的是laravel5.5 。
用chrome 查看了http状态,才发现是laravel的限制:

http header信息:

Response Headers
Cache-Control: no-cache, private
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Thu, 15 Nov 2018 01:49:31 GMT
Server: Tengine/2.1.2
Transfer-Encoding: chunked
Via: kong/0.14.1
X-Kong-Proxy-Latency: 0
X-Kong-Upstream-Latency: 25
X-Powered-By: PHP/7.0.9
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
其表现是在 HTTP 的 Response 头中缀上了请求次数统计

X-RateLimit-Limit:60
X-RateLimit-Remaining:59
从 Chrome 的 console 看,每个 API 请求都会占用这个 limit 的限额。

X-RateLimit-Limit:60
X-RateLimit-Remaining:53
等过一分钟(文档上是一分钟,实际没多长时间),再发送一个请求,都会发现限额已经被自动恢复。

对应的配置在 Laravel 项目文件 app/Http/Kernel.php

'api' => [
'throttle:60,1',
'bindings',
]
所以,

第一个参数 60 代表每分钟限制 60 次请求
第二个参数 1 代表触发了限制规则,则1分钟内禁止访问
将 60 调整成 10000 基本就可以保障访问的需求了。
————————————————
版权声明:本文为CSDN博主「CaseyWei」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/caseywei/java/article/details/104499781

猜你喜欢

转载自www.cnblogs.com/mouseleo/p/12761851.html