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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM