2016-11-03 1 views
-1

Из нескольких источников (23) У меня создается впечатление, что всякий раз, когда люди хотят оценивать лимитные запросы, тенденция, похоже, «обертывает Tomcat за Apache и лимит скорости на Apache». Также есть решение iptables, но это не ответит HTTP 429 («Слишком много запросов»).Почему Tomcat не имеет встроенных фильтров ограничения скорости?

Apache все в порядке, но иногда это будет хорошо, если мы сможем импровизировать мелкие развертывания небольшого сервлета, который у нас есть, но нас все еще просят оценить лимитные запросы, а настройка уровня Apache - бит по сравнению с клонированием файла web.xml, который мы уже делаем в любом случае).

Итак, я подумываю о кодировании небольшого фильтра, чтобы сделать это (как это кажется значительным количеством усилий) и упаковать его с помощью сервлета, но жуткое отсутствие подробного ограничения скорости Tomcat открытый предполагает, что этот подход может быть наивным. Я имею в виду, что это настолько универсально, и в наши дни доступно Open-Source. Поэтому, возможно, есть веская причина, которая оправдывает решение Apache. Apache has so many options, в то время как у Tomcat, похоже, нет.

(Jetty does seem to ship with one such filter though, несмотря на то контейнер сервлетов.)

Почему Tomcat не хватает встроенных скорости предельных фильтров?

ответ

0

Tomcat наверняка имеет rate-limit filter valve встроенный. Вам просто нужно изменить его в соответствии с вашими потребностями.

+0

Теперь я еще более тупой. Это клапан, а не фильтр. Почему это не было реализовано как фильтр? –

+0

Поскольку вы обычно хотите остановить запросы, поступающие до того, как они попадут в любое приложение, ресурсы проверки подлинности с использованием и т. Д. Клапаны всегда работают перед фильтрами, но клапаны могут быть в любом порядке. Создание этого клапана позволяет вставлять его в самом начале обработки, чтобы сделать его сбой как можно быстрее. –