Как ограничить скорость node.js API, который использует JWT?

#node.js #api #devops #ddos

#node.js #API #devops #ddos

Вопрос:

У меня есть node.js приложение, которое работает на разных серверах / контейнерах. Клиенты проходят проверку подлинности с помощью токенов JWT. Я хочу защитить этот API от DDoS-атак. Настройки ограничения использования пользователя могут храниться в токене. Я думал о подходах som:

  • Увеличьте счетчики в базе данных памяти, такой как redis или memcached, и проверяйте их при каждом запросе. Может вызвать узкие места ?.
  • Сделайте что-нибудь на сервере nginx (возможно ли это?)
  • Использовать какое-либо облачное решение (AWS WAF? Облачный интерфейс? Шлюз API? Они делают то, что я хочу?)

Как это решить?

Комментарии:

1. rate-limiter-flexible помогает с первым вариантом npmjs.com/package/rate-limiter-flexible

Ответ №1:

Существуют специальные npm пакеты, такие как

Я не знаю, AWS но Azure вы можете использовать Azure API Management для защиты своего api https://learn.microsoft.com/en-us/azure/api-management/api-management-key-concepts