속도 제한 동작을 시뮬레이션합니다.
구성 예제
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"plugins": [
{
"name": "RateLimitingPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "rateLimiting"
}
],
"rateLimiting": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/ratelimitingplugin.schema.json",
"costPerRequest": 2,
"rateLimit": 120
}
}
구성 속성
| 재산 | 묘사 | 기본값 |
|---|---|---|
headerLimit |
속도 제한 제한을 전달하는 응답 헤더의 이름 | RateLimit-Limit |
headerRemaining |
다시 설정하기 전에 남은 리소스 수를 전달하는 응답 헤더의 이름 | RateLimit-Remaining |
headerReset |
다시 설정될 때까지 남은 시간을 전달하는 응답 헤더의 이름입니다. | RateLimit-Reset |
headerRetryAfter |
재시도 후 기간을 전달하는 응답 헤더의 이름 | Retry-After |
costPerRequest |
요청 비용을 수행하는 리소스 수 | 2 |
resetTimeWindowSeconds |
다음 재설정까지의 시간(초) | 60 (육십) |
warningThresholdPercent |
초과할 때의 사용 비율은 응답 헤더를 제한하는 속도 반환을 시작합니다. | 80 |
rateLimit |
기간의 리소스 수 | 백이십 |
whenLimitExceeded |
제한을 초과할 때 플러그 인이 사용해야 하는 동작입니다.
Throttle 사용하거나 Custom. |
Throttle |
resetFormat |
속도 제한이 재설정되는 시기를 결정하는 데 사용되는 형식입니다.
SecondsLeft 사용하거나 UtcEpochSeconds. |
SecondsLeft |
customResponseFile |
제한을 초과할 때 사용되는 사용자 지정 오류 응답을 포함하는 파일입니다. | rate-limit-response.json |
명령줄 옵션
없음
설명
사용자 지정 응답 본문
사용자 지정 응답 파일의 body 속성을 JSON 개체 또는 배열로 설정하면 Dev Proxy가 JSON으로 직렬화합니다. 문자열로 설정하면 개발자 프록시는 따옴표 없이 문자열 as-is보냅니다. 개발자 프록시는 헤더를 Content-Type 기본값으로 설정하므로 application/jsonJSON이 아닌 콘텐츠를 반환할 때 헤더를 콘텐츠와 일치하도록 설정합니다 Content-Type . 예를 들면 다음과 같습니다 text/plain.
사용자 지정 응답 Content-Type 헤더
설정 Custom 되고 사용자 지정 응답에 헤더가 body 있지만 정의 Content-Type 되지 않은 경우 whenLimitExceeded Dev Proxy는 헤더를 사용하여 Content-Type: application/json 응답을 반환합니다. 다른 콘텐츠 형식을 반환하려면 사용자 지정 응답 파일에 헤더를 추가 Content-Type 합니다. 개발자 프록시는 사용자가 지정한 값을 사용합니다.
다음 단계
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
Dev Proxy