Решения для веб-сервера, предназначенного для управления разрешениями /ACL и (обратным) прокси-серверами API-серверов?

Я рассматриваю различные макеты для предоставления различных HTTP-сервисов API (работающих на их собственных разных серверах) через внешний сервер, выделенный для управления разрешениями от имени сервисов API.

Я рассмотрел различные варианты, от классических, таких как Nginx, Apache и т. Д. До HAProxy, проходя мимо различных решений веб-сервера Python, таких как Tornado, Twisted (что дает мне возможность легко реализовать свою собственную систему ACL). Основополагающая особенность - высокая производительность и масштабируемость, а также возможность управлять мелкозернистыми правилами ACL (аналогично системе HAProxy ACL).

Я хотел бы знать, что является предлагаемым подходом к настройке того, что мне нужно, и есть ли уже (готовые источники) готовые к использованию решения, уже предназначенные для этого.


(Я пользователь, который задал вопрос). спасибо за оба ответа. Я только что обнаружил особенности mod_security. Я собираюсь читать Книгу. Я не был уверен, что WAF были правильными инструментами, но я думаю, что это так;)

Единственная проблема, с которой я боюсь столкнуться - это необходимость перезапуска сервера, когда я применяю chnges к правилам. Я надеюсь, что это не требуется.

HAProxy кажется нормальным, но я предпочитаю что-то кроссплатформенное. Я попробую оба решения.

2 ответа

Не уверен, что я понимаю, в чем твой вопрос. Вы хотите фильтровать HTTP-запросы по различным вещам?

Используйте брандмауэр веб-приложения, фильтруйте с помощью mod_security на apache (mod_proxy для сквозного доступа). Это очень мощный и эффективный. Пример: если вы используете веб-сервисы /XML/SOAP/WSDL, вы можете даже добавить файл XML шаблона в mod_security, и он будет фильтровать содержимое запроса в соответствии с ним. Вы можете пересылать запросы из mod_security на другие серверы, прокси, блокировать, отклонять, подсчитывать аргументы, значения и т. Д.

Кроме того, вы можете использовать обратный прокси, такой как squid или лак, извлечь REMOTE_ADDR с mod_extract_forwarded на apache и так далее...

Вы не четко описали свою проблему. В чем проблема с haproxy? Из вашего заявления:

Основополагающая особенность - это высокая производительность и масштабируемость, а также возможность управлять мелкозернистыми правилами ACL.

Я могу сказать, просто используйте haproxy, и все должно быть в порядке. Это мощное, гибкое решение с открытым исходным кодом. Вам просто нужно убедиться, что он имеет все необходимые функции.

Другие вопросы по тегам