Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Simula i comportamenti del limite di frequenza.
Esempio di configurazione
{
"$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
}
}
Proprietà di configurazione
| Proprietà | Descrizione | Predefinito |
|---|---|---|
headerLimit |
Nome dell'intestazione della risposta che comunica il limite di limitazione della frequenza | RateLimit-Limit |
headerRemaining |
Nome dell'intestazione della risposta che comunica il numero rimanente di risorse prima della reimpostazione | RateLimit-Remaining |
headerReset |
Nome dell'intestazione della risposta che comunica il tempo rimanente fino alla reimpostazione | RateLimit-Reset |
headerRetryAfter |
Nome dell'intestazione della risposta che comunica il periodo di ripetizione dopo il tentativo | Retry-After |
costPerRequest |
Il numero di risorse che costa una richiesta | 2 |
resetTimeWindowSeconds |
Tempo in secondi fino al successivo ripristino | 60 |
warningThresholdPercent |
Percentuale di utilizzo che si verifica quando il superamento inizia a restituire le intestazioni di risposta di limitazione della frequenza | 80 |
rateLimit |
Numero di risorse per un intervallo di tempo | 120 |
whenLimitExceeded |
Il comportamento che il plug-in deve usare quando viene superato il limite. Usare Throttle o Custom. |
Throttle |
resetFormat |
Formato utilizzato per determinare quando viene reimpostato il limite di velocità. Usare SecondsLeft o UtcEpochSeconds. |
SecondsLeft |
customResponseFile |
File contenente una risposta di errore personalizzata usata quando viene superato il limite. | rate-limit-response.json |
Opzioni della riga di comando
Nessuno
Osservazioni:
Corpo della risposta personalizzato
Se si imposta la body proprietà nel file di risposta personalizzato su un oggetto JSON o una matrice, Dev Proxy lo serializza in JSON. Se lo si imposta su una stringa, Dev Proxy invia la stringa as-is, senza virgolette circostanti. Poiché Dev Proxy imposta per impostazione predefinita l'intestazione Content-Type su application/json, impostare l'intestazione Content-Type in modo che corrisponda al contenuto quando si restituisce contenuto non JSON, ad esempio text/plain.
Intestazione della risposta Content-Type personalizzata
Quando whenLimitExceeded è impostato su Custom e la risposta personalizzata ha un body ma non definisce un'intestazione Content-Type , Dev Proxy restituisce la risposta con l'intestazione Content-Type: application/json . Per restituire un tipo di contenuto diverso, aggiungere l'intestazione Content-Type al file di risposta personalizzato. Dev Proxy usa il valore specificato.