2010-05-04 2 views
0

Как вы можете установить ограничение скорости доступа к API с помощью Iptables. Пытался установить предел с помощью порта 80, но я не хочу полностью устанавливать ограничение на доступ к веб-сайту. Есть ли способ указать субдомен, а не порт. Пример: установить лимит ставок для api.example.com not example.com?Как установить ограничение скорости доступа к вашему API с помощью Iptables?

Если нет способа установить ограничение скорости по субдомену, каков предлагаемый лимит скорости доступа к порту 80 без риска блокировки законного пользователя сети? Достаточно одного соединения в секунду?

ответ

1

Как следует из названия, iptables работает с IP-адресами. Поэтому, если ваш api.example.com разрешен на другой IP-адрес, чем www.example.com, вы можете фильтровать на основе этих IP-адресов. Если оба они разрешают один и тот же IP-адрес, вы не можете их фильтровать отдельно.

Одно подключение в секунду для законных пользователей по-прежнему довольно низкое. Когда вы загружаете страницу, не забывайте, что вы также должны загружать все файлы .js, .css, .jpg и т. Д., И все они будут из одного домена. С Keep-Alive, который может уменьшить количество запросов на соединение, но вы по-прежнему будете иметь как минимум два, возможно, до шести одновременных запросов от одного и того же пользователя (в зависимости от их браузера и конфигурации).

Если это действительно важно для вас, то вам следует настроить уникальные IP-адреса для двух отдельных поддоменов и фильтровать их. Лично я считаю, что фильтрация на уровне apache более уместна.