Welcome! Log In Create A New Profile

Advanced

limit_req в зависимости от user agent

Posted by LexxTheFox 
limit_req в зависимости от user agent
June 18, 2012 02:01AM
Доброго дня!

У меня возникла такая проблема: не могу понять как правильно написать конфигурацию для того чтобы ограничивать количество подключений клиентам с определённым юзерагентом. Задача проста - нужно проверять юзерагент и, если это поисковый бот, ограничивать ему частоту подключений.

Прописываю так:

http {
limit_req_zone $binary_remote_addr zone=bots:10m rate=1r/m;
server {
...
location / {
if ($http_user_agent ~* (google|bing|yandex|msnbot) )
{
limit_req zone=bots burst=5 nodelay;
}
include balancer.conf;
}}}

nginx на это отвечает так: [emerg]: "limit_req" directive is not allowed here

Должен же быть способ ограничить подключения по условию в if. Кто знает, подскажите пожалуйста.
Re: limit_req в зависимости от user agent
June 21, 2012 07:48AM
Решение здесь: http://forum.nginx.org/read.php?2,227641
Если знаете решение лучше, буду рад прочитать.
Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 110
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready