Recentemente abbiamo riscontrato un errore ip_10_secs_limit a seguito dell’utilizzo da parte di un utente di iCloud Private Relay che utilizza un pool di IP condivisi.
C’è un modo per allentare questa impostazione? Sospetto che stiamo appena attivando questa regola e non abbiamo avuto problemi con lo spam.
Ho trovato questo riferimento nel codice e un GlobalSetting.max_reqs_per_ip_per_10_seconds ma non sono riuscito a trovarlo cercando nelle impostazioni di Discourse.
I registri mostrano gli indirizzi IP degli utenti o gli indirizzi iCloud? Se è quest’ultimo, è necessario correggere la configurazione di nginx in modo che l’indirizzo IP dell’utente finale raggiunga Discourse anziché il proxy. Gli argomenti relativi all’esecuzione di Discourse con altri server contengono il codice che è necessario aggiungere ad app.yml per risolvere il problema. È necessario modificare x-forwarded-for, se la memoria non mi inganna.
È possibile sovrascrivere tale impostazione con una variabile d’ambiente
iCloud potrebbe essere stato un falso allarme; ho ricevuto un’ulteriore segnalazione da un utente Chrome che sta riscontrando lo stesso problema. Sorprendentemente, questo problema è iniziato solo ora, nonostante non ci siano state modifiche alla configurazione del server, ecc. (in esecuzione 2.9.0.beta9), quindi mi chiedo perché sia iniziato.
Puoi sovrascrivere quella impostazione con una variabile d’ambiente
Significa che posso impostare ip_10_secs_limit come variabile d’ambiente sul server? È tutto in minuscolo, ha bisogno di un prefisso? Ero confuso perché il messaggio di errore mostrava ip_10_secs_limit, ma il codice sorgente di Discourse mostrava GlobalSetting.max_reqs_per_ip_per_10_seconds, quindi non sono sicuro di quale nome di variabile usare.
Penso che tu possa avere ragione riguardo all’indirizzo IP; sembra che venga segnalato come un indirizzo IP di Cloudflare. Sembra che ci siano alcuni problemi noti qui, farò qualche lettura!