Назад | Перейти на главную страницу

Ограничение пропускной способности Apache на основе URL

Я размещаю сайт обмена изображениями и, похоже, столкнулся с необычной проблемой. Я использую модуль Apache mod_rewrite, чтобы сделать все URL-адреса каждого изображения намного короче, чем они были бы в противном случае, но это, похоже, мешает работе других модулей, таких как mod_bw или mod_bandwidth, поскольку пользователь технически не запрашивает загрузку файла .

Моя проблема возникает, когда кто-то загружает анимированный gif размером 2 МБ. Иногда гифка забирает всю пропускную способность сервера и делает мой сайт бесполезным. Мне нужен способ определить, когда пользователи хотят просматривать гифки, а затем ограничить их скорость чем-то более разумным.

Единственный способ, которым я могу это сделать, - это если был какой-то модуль Apache, который обнаружил .gif в конце URL-адреса, а затем отключил ограничение пропускной способности. Это вообще возможно? Или я могу еще что-нибудь сделать?

Вы ищете mod_cband делать то, что тебе нужно. Вы помещаете его директивы в контейнер LocationMatch, например, для файлов .gif. Если по какой-то причине вы используете старый Apache 1.3, посмотрите mod_bandwidth или mod_throttle вместо.

http://codee.pl/cband.html

nginx имеет эту функцию. Вы можете сделать nginx обратным прокси для Apache.

Образец кода:

location /download/ {
   limit_rate  10k;
}