Мы используем Discourse в контейнере Docker. У нас настроены ограничения частоты запросов с белым списком IP-адресов. Однако при запросах с этого IP-адреса всё равно возникают ошибки ограничения частоты. Я почти уверен, что конфигурация nginx верна, вот как она выглядит:
nginx настроен на запись ошибки в лог, если ограничение частоты достигнуто, и мы действительно видим некоторые сообщения в логе — но ни одного от whitelisted IP. Тем не менее, при запросах с whitelisted IP мы получаем множество ответов 429. URL-адреса запросов — это профили пользователей (например, /users/foo.json). Возможно, в самом Discourse есть какое-то ограничение частоты запросов?
Привет! Да, Nginx действительно управляет ограничением частоты запросов, как вы и сказали, но у Discourse есть и собственный способ управления этим на уровне приложения. Сэм написал на эту тему интересную статью:
Единственный вопрос, который у меня возникает: можно ли действительно настраивать ограничения частоты с исключениями (то есть добавлять IP-адреса в белый список через эти правила)? Я всё ещё ищу способ сделать это…
Я знаю, что проблема не в nginx, потому что получаю сообщение «Вы выполнили это действие слишком много раз», что означает, что обработку выполняет RateLimiter Discourse.