Discourse viene fornito con 3 diversi limiti di velocità globali che possono essere configurati dagli amministratori del sito.
Limiti di velocità globali per indirizzo IP
Questi limiti si applicano a ogni indirizzo IP univoco che raggiunge l’applicazione Discourse. (I file serviti direttamente dal filesystem o dalla CDN sono esclusi)
Per impostazione predefinita, questo limite di velocità è abilitato, è possibile disabilitarlo o impostarlo su una modalità di segnalazione.
DISCOURSE_MAX_REQS_PER_IP_MODE: predefinito block, questo limite di velocità si applica subito. (Altre opzioni sono warn, warn+block e none)
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE: numero di richieste per IP al minuto (il valore predefinito è 200)
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS: numero di richieste per IP ogni 10 secondi (il valore predefinito è 50)
DISCOURSE_MAX_ASSET_REQS_PER_IP_PER_10_SECONDS: numero di richieste di asset (avatar/css) per IP ogni 10 secondi (il valore predefinito è 200)
DISCOURSE_MAX_REQS_RATE_LIMIT_ON_PRIVATE: il limite di velocità deve essere applicato agli indirizzi IP privati che accedono a Discourse? Predefinito è false.
DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL: utilizza i limiti di velocità per utente rispetto ai limiti di velocità per IP per gli utenti con questo livello di fiducia o superiore (predefinito 1)
DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS: un elenco separato da spazi di indirizzi IP o blocchi CIDR da escludere dalla limitazione di velocità per indirizzo IP. Ad esempio: 14.15.16.32/27 216.148.1.2
Limiti di velocità API utente
Le applicazioni mobili acquisiscono una chiave API utente per dispositivo per accedere a Discourse per conto di un utente (utilizzando un protocollo aperto). Queste chiavi API sono limitate molto rigorosamente.
DISCOURSE_MAX_USER_API_REQS_PER_MINUTE: predefinito 20
DISCOURSE_MAX_USER_API_REQS_PER_DAY: predefinito 2880
Limiti di velocità API amministratore
Le chiavi API amministrative possono essere generate tramite la pagina vostro_sito.com/admin/api/keys. Queste chiavi possono operare per conto degli utenti, ma richiedono privilegi amministrativi per essere generate. C’è un limite di 60 richieste al minuto, condiviso tra tutte le chiavi.
Gli utenti self-hosted possono modificarlo nel loro file app.yml. I clienti con hosting dovranno contattare il proprio provider di hosting.
DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE : 60
Limiti di velocità API del plugin Data Explorer
DISCOURSE_MAX_DATA_EXPLORER_API_REQ_MODE: predefinito warn, questo limite di velocità si applica subito. (Altre opzioni sono block, warn+block e none)
DISCOURSE_MAX_DATA_EXPLORER_API_REQS_PER_10_SECONDS: 2
Nota: le richieste effettuate tramite l’interfaccia utente di Data Explorer non vengono conteggiate ai fini del limite di velocità.
Cosa devo fare se raggiungo un limite di velocità e vengo limitato?
Se stai utilizzando l’API programmaticamente e ricevi una risposta di limitazione con codice di stato 429, dovresti rispettarla e rallentare.
Come utente finale, non dovresti davvero riscontrare limiti di velocità; se succede, rallenta. Potresti attivarli aprendo 50 schede molto rapidamente o facendo qualcosa del genere.
Attenzione firewall e proxy! 
Se stai utilizzando un proxy inverso non configurato correttamente, Discourse potrebbe pensare che tutte le richieste provengano da un singolo indirizzo IP, è molto probabile che raggiungerai i limiti di velocità in anticipo. Assicurati di configurare il tuo proxy inverso per inoltrare correttamente l’IP.
Come modifico questi limiti?
Per modificare i limiti, aggiungi la modifica desiderata nel tuo file app.yml nella sezione env.
>
Se sei ospitato da Discourse e hai un piano Enterprise, contatta team@discourse.org se devi modificare uno di questi limiti.
>
> I limiti di velocità globali non sono regolabili sui piani starter, pro o business.