Как ограничить скорость виртуальному хосту в Nginx
Автор: admin Раздел: Как настроить CentOS
Ранее уже описывал один из вариантов ограничения определенной скорости и количества трафика отдельному какому-нибудь виртуальному хосту интересными средствами с помощью знаменитого 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. |