【发布时间】:2019-07-11 20:52:18
【问题描述】:
我有一个使用 Laravel 的 API,它是从另一个带有 Guzzle 的 Laravel 实例调用的。
第二台服务器的 IP 地址正在触发 API 限制。
我想将用户的域和 IP 地址从第二台服务器传递到 API。我希望不要重新编码 Throttle 中间件。
我想知道是否有人以前遇到过这个问题,如果有,他们是如何解决的。
API上的中间件组是这样设置的
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'api' => [
'throttle:60,1',
\Barryvdh\Cors\HandleCors::class,
'bindings',
],
];
relevant throttle code
/**
* Resolve request signature.
*
* @param \Illuminate\Http\Request $request
* @return string
*
* @throws \RuntimeException
*/
protected function resolveRequestSignature($request)
{
if ($user = $request->user()) {
return sha1($user->getAuthIdentifier());
}
if ($route = $request->route()) {
return sha1($route->getDomain().'|'.$request->ip());
}
throw new RuntimeException('Unable to generate the request signature. Route unavailable.');
}
【问题讨论】:
标签: php laravel bandwidth-throttling