ГлавнаяРегистрацияВходВ закладки

Главная » Статьи » CentOS » Как настроить CentOS
Как ограничить скорость виртуальному хосту в Nginx
Ранее уже описывал один из вариантов ограничения определенной скорости и количества трафика отдельному какому-нибудь виртуальному хосту интересными средствами с помощью знаменитого Apache! Сегодня же и только сегодня я же буду описывать как сделать ограничение вот такой скорости одному из на интереснейших моих же сайтов средствами с помощью Nginx. Просто так вот случилось, что вот на сервере моем же работает связка Apache плюс(+) Nginx, и если вводить ограничения всего то лишь в нашем Apache, то вот ограничение же будет работать не в полнейшей же вот мере. Ведь статика вот отдается нашим же nginx.

После интересного вот чтения документации все вот стало ясно. В этой вот конфигурации nginx, нужному virtualhost-у просто же вот дописываем пару таких строк:

if ( $query_string !~* ‘premium=true’ ) {
set $limit_rate 228k;
}

У меня получилось следующее:
ee /usr/local/etc/nginx/nginx.conf

server {
listen 191.29.125.78:80;
server_name auto-car.in.ua www.auto-car.in.ua;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://191.29.125.78:8080;
proxy_redirect http://auto-car.in.ua:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}

if ( $query_string !~* ‘premium=true’ ) {
set $limit_rate 120k;
}
location / {
proxy_pass http://191.29.125.78:8080;
proxy_redirect http://auto-car.in.ua:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /home/andrey/data/www/auto-car.in.ua;
access_log /home/httpd-logs/auto-car.in.ua.access.log ;
access_log /home/nginx-logs/andrey isp;
}
location @fallback {
proxy_pass http://191.29.125.78:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}

Ну и думаю, что далее нам вот нужно будет и следует перезапустить великий nginx.
Просмотров: 2638
Дата: 2011-09-25 17:12:33
Комментариев: 0
Источник: