У меня есть путь (например, mysite.com/myapiendpoint), который требует значительных ресурсов для обслуживания и очень подвержен злоупотреблениям со стороны ботов. Мне нужно ограничить доступ к этому конкретному пути примерно до 10 запросов в минуту на IP-адрес клиента. Как это может быть сделано?
Я размещаю инстанс EC2 с CloudFront и AWS WAF впереди. У меня включено стандартное правило на основе скорости, но его минимум 2000 запросов в минуту на IP-адрес абсолютно непригоден для моего приложения.
Я рассматривал возможность использования для этого API Gateway и использовал его в прошлом, но его ограничение скорости, насколько я понимаю, не основано на IP-адресе, поэтому боты просто использовали бы лимит, а законным пользователям постоянно было бы отказано в использовании конечная точка.
На моем сайте не используются какие-либо сеансы, поэтому я не думаю, что смогу установить какое-либо ограничение скорости на самом сервере. Также имейте в виду, что моим сайтом управляет один человек, и я новичок в AWS :)
Как я могу ограничить использование каждого IP-адреса примерно до 10 запросов в минуту, желательно в WAF?
[Редактировать]
После дополнительных исследований мне интересно, могу ли я включить пересылку заголовков в источник (запущенный узел / экспресс) и использовать пакет ограничителя скорости. Это жизнеспособное решение?