Проблема: У меня есть экземпляр AWS EC2, на котором работает FreeBSD.Там я использую сервер NodeJS TLS / TCP.Я хотел бы создать набор правил (в моем приложении NodeJS), чтобы иметь возможность индивидуально блокировать IP-адреса программно на основе нескольких логических условий.
Я хотел бы запустить внешний (не на том же компьютере / экземпляре) брандмауэр или балансировщик нагрузки, которым я могу управлять из NodeJS программно, чтобы при определенных условиях я мог заблокировать определенныйудаленный адрес (IP), прежде чем он достигнет экземпляра NodeJS.
Вещи, которые я пробовал: Сначала я рассмотрел nginx в качестве опции, запустил его во втором экземпляре и разместил свой сервер NodeJS за ним, ноизучив расширенные рецепты поваренной книги NGINX Advanced Recipes для высокопроизводительной балансировки нагрузки , я узнал, что только NGINX Plus (платная версия) позволяет осуществлять удаленный контроль и настройку API.Хотя я считаю, что платить 3500 долларов США за лицензию не слишком много (учитывая все функции NGINX Plus), я просто не могу позволить себе купить ее в данный момент;кроме того, единственной функцией, которую я бы использовал (на данный момент), было бы удаленное управление API и блокировка IP-адреса .
Моя вторая мысль былапойти с AWS / ELB (балансировка упругой нагрузки), интегрировав AWS SDK в мой проект.Это казалось возможным, к сожалению, после прочтения нескольких веток форума и части их документации (если я не ошибаюсь) кажется, что эти две функции, которые мне нужны, не доступны в AWS / ELB.AWS, похоже, предлагает совершенно другую услугу под названием WAF, которую я, честно говоря, не очень хорошо понимаю (как услугу, так и с точки зрения функциональности).
Я также (кратко) изучил CloudFlare, как это было рекомендовано в одном из постов, здесь, на Sackoverflow, хотя я не могу точно сказать, будет ли их брандмауэр позволять этот уровень (удаленного) управления.
Вопрос: Какие у меня варианты?Что бы вы, ребята, порекомендовали мне?