429 muitas requisições, bom ou ruim? (por favor, ajudem)

olá

estou usando o UptimeRobot e algumas vezes por semana recebo erro 429 por 1 a 5 minutos, mas é isso que vejo nos logs.

Causa raiz
HTTP 429 - Too Many Requests
Início do incidente
2026-08-23 10:42:58
Resolvido em
2026-08-23 10:48:05
Duração
5 minutos e 7 segundos

estou com auto-hospedagem e o Discourse está atrás de um proxy reverso do HestiaCP

log.txt (55.8 KB) aqui está o log

quero saber se esse 429 afetou todos os usuários ou apenas alguns?

estou em uma instalação padrão no Docker, com apenas a porta 80 aberta e 4 workers.

8 GB de RAM e 8 núcleos

atualização: fiz um teste no meu PC abrindo 20/30 posts até receber o 429 e, no meu celular em uma rede diferente, funcionou normalmente. isso confirma que o 429 afeta um único cliente e não todos os visitantes?

Se não estou enganado, sim, isso afeta apenas o cliente que envia a sequência de requisições.

Devo ignorar isso ou devo mudar algo para aumentar o limite?

Se você quiser ajustar os limites, consulte:

isso provavelmente significa que todas as solicitações parecem vir do mesmo IP e que muitos usuários estão recebendo erros 429. Acesse admin/users e veja qual endereço IP você vê para si mesmo e para outro usuário. Se forem os mesmos, você precisa configurar as coisas para que o IP real chegue ao Discourse.

acabei de verificar e tenho o mesmo IP interno que os outros usuários! :frowning:

como posso corrigir isso?

Você está rodando atrás do Cloudflare?

Também estou passando por isso neste jogo :slight_smile:

sim, mas o problema é que todos os usuários têm o mesmo ip..

adicionei isso ao app.yml e estou testando agora

run:

  • replace:
    filename: /etc/nginx/conf.d/discourse.conf
    from: “server {”
    to: |
    server {
    set_real_ip_from 192.168.1.250;
    real_ip_header X-Forwarded-For;
    real_ip_recursive on;
  • exec: echo “Beginning of custom commands”
  • exec: echo “End of custom commands”

testei agora do desktop e do celular

estou obtendo os endereços ip corretos :smiley:

Se você estiver usando o Cloudflare, o template que você precisa é o do Cloudflare. Parece ser impossível encontrar o tópico canônico sobre isso, então talvez você deva tentar o https://ask.discourse.com/ – Consegui uma mensagem gerada por IA sobre o que fazer, mas não sobre onde encontrar a discussão a respeito. Me deixa triste que a IA encontre a solução, mas a busca não. :crying_cat:

bom… sim, perguntei ao ChatGPT, fiz um backup antes e depois fiz um teste. até agora está tudo bem :smiley:

Eu sempre usaria o https://ask.discourse.com/ em vez de uma IA genérica (a menos que você esteja codificando ativamente e a IA tenha acesso ao código do Discourse).

Seria essa a parte?

  1. Para o Cloudflare, adicione cloudflare.template.yml ao seu arquivo app.yml.

isso é uma alternativa à solução que encontrei acima?

Se você usa o Cloudflare com o Discourse, deve adicioná-lo. Acho que essa era a template que o @pfaffman mencionou?

Acho que depende da sua configuração.

Eu tenho

             ┌─────────────────────────┐
             │       Cloudflare        │
             │ WAF / CDN / DDoS / SSL  │
             └────────────┬────────────┘
                          │
                   IP real do cliente
                          │
                          ▼
             ┌─────────────────────────┐
             │   CentminMod Nginx      │
             │                         │
             │ cloudflare.conf         │
             │ restaura o IP real      │
             └────────────┬────────────┘
                          │
                   X-Forwarded-For
                   = IP real do cliente
                          │
                          ▼
             ┌─────────────────────────┐
             │    Discourse Docker     │
             │                         │
             │ proxy confiável         │
             │ 172.16.0.0/12           │
             └─────────────────────────┘

Se eu usar o template, ele reverte o IP para o IP do Docker, em vez do IP exposto. Eu faço o encaminhamento disso no Nginx.