Estamos usando o Discourse em um contêiner Docker. Temos limites de taxa configurados com um IP em lista de permissões. No entanto, ainda estamos recebendo erros de limite de taxa ao fazer solicitações desse IP. Tenho certeza de que a configuração do nginx está correta, veja como ela se parece:
O nginx está configurado para registrar um erro caso um limite de taxa tenha sido atingido e estamos de fato vendo alguma mensagem de log - mas nenhuma do IP em lista de permissões. Ainda assim, estamos recebendo muitos 429 ao fazer solicitações do IP em lista de permissões. As URLs das solicitações são perfis de usuário (por exemplo, /users/foo.json). Existe algum tipo de limite de taxa no próprio Discourse?
Olá, Nginx está de fato gerenciando a limitação de taxa como você afirmou, mas o Discourse também tem sua própria maneira de gerenciar a limitação de taxa no nível do aplicativo. Sam tem um artigo interessante sobre isso:
A única coisa que estou me perguntando é se podemos realmente limitar a taxa com exceções (ou seja, colocar IPs em uma lista de permissões através dessas regras). Ainda estou procurando uma maneira de fazer isso…
Eu sei que não é o nginx porque estou recebendo a mensagem “Você realizou esta ação muitas vezes”, o que significa que o Discourse RateLimiter está lidando com isso.