Recentemente encontramos um erro ip_10_secs_limit como resultado de um usuário utilizando o Relay Privado do iCloud, que utiliza um pool de IPs compartilhados.
Existe alguma forma de relaxar essa configuração? Suspeito que estamos apenas acionando essa regra e não tivemos problemas com spam.
Encontrei esta menção no código e um GlobalSetting.max_reqs_per_ip_per_10_seconds, mas não consegui encontrá-lo ao pesquisar nas configurações do Discourse.
Seus logs mostram os endereços IP do usuário ou os endereços do iCloud? Se for o último, você precisa corrigir a configuração do nginx para que o IP do usuário final chegue ao Discourse em vez do proxy. Os tópicos sobre a execução do Discourse com outros servidores têm o código que você precisa adicionar ao app.yml para corrigir isso. Você precisa alterar o x-forwarded-for, se bem me lembro.
Você pode substituir essa configuração com uma variável de ambiente
O iCloud pode ter sido um alarme falso; recebi um relatório adicional de um usuário do Chrome que também está vendo isso. Surpreendentemente, esse problema só começou a ocorrer agora, apesar de nenhuma alteração na configuração do servidor etc. (executando 2.9.0.beta9), então estou me perguntando por que isso começou a ocorrer.
Você pode substituir essa configuração com uma variável de ambiente
Significa que posso definir ip_10_secs_limit como uma variável de ambiente no servidor? Está tudo em minúsculas, precisa de um prefixo? Fiquei confuso porque a mensagem de erro mostrava ip_10_secs_limit, mas o código-fonte do Discourse mostrava GlobalSetting.max_reqs_per_ip_per_10_seconds, então não tenho certeza de qual nome de variável usar.
Acho que você pode estar certo sobre o endereço IP; parece que ele está sendo relatado como um endereço IP da Cloudflare. Parece que existem alguns problemas conhecidos aqui, vou ler um pouco!