Ограничить скорость загрузки прокси-сервера Apache для каждого соединения/IP-адреса?

Я посмотрел на mod_bandwidth и mod_cban, но они не удовлетворяют моим требованиям.

Я использую прокси-сервер с apache 2.2 (mod_proxy, proxy_http, proxy_connect).

Я хочу ограничить "скорость загрузки клиента".

Это в то же время пропускная способность загрузки сервера, которая не должна ограничиваться.

Я хочу это за соединение или даже лучше за IP.

Чтобы было понятно: вариант использования заключается в том, что я не хочу, чтобы плохие люди загружали плохие данные в плохие места, используя мой прокси-сервер, чтобы «маскировать» себя. Конечно, у меня есть бревна и все такое, но я хочу избежать проблем и сделать их непривлекательными в первую очередь.

Для лучшего понимания вот изображение моей установки:

введите здесь описание изображения

Конечно, красная стрелка может также указывать на верхнюю левую стрелку.

В настоящее время я думаю о том, чтобы запустить apache два раза на одном сервере с разными портами и использовать ProxyRemote для отправки запроса на другой прокси. Так что на втором прокси я могу исключить локальный хост из троттлинга. Однако мне все равно нужно решение для ограничения входящей, но не исходящей полосы пропускания. Я мог понять это с помощью IPtables.

Но, честно говоря? Должен быть лучший способ. Вот только должен.


person The Surrican    schedule 11.07.2011    source источник
comment
Рассматривали ли вы возможность поставить сервер Squid перед вашим Apache? Я думаю, что это относительно легко и безболезненно. Функция пулов задержки кажется вам полезной. ищу.   -  person TomNysetvold    schedule 15.04.2012


Ответы (1)


Установите mod_bw

Внутри вашего виртуального хоста добавьте:

BandWidthModule On
ForceBandWidthModule On
BandWidth 192.168.0.0/24 0  
BandWidth all 80000

Где 192.168.0.0/24 0 должен быть ваш IP и правила подсети. 0 означает, что он получает 0 дросселирования (локальные пользователи получают полную скорость, вы можете расширить это, чтобы делать такие вещи, как страна, университет и т. д.). BandWidth all 80000 означает, что все остальные ограничены 80 000 байт/с.

Источник.

person Incognito    schedule 15.04.2012
comment
проблема в том, что в этой прокси-ситуации скорость ограничена в обоих направлениях - person The Surrican; 15.05.2012
comment
@JoeHopfgartner Вы также можете использовать iptables в Linux, но для другой стороны это больше вопросов по администрированию сервера. - person Incognito; 16.05.2012