Re: Ограничение количества запросов

2016-08-09 Пенетрантность Иван
В письме от 8 августа 2016 06:21:14 пользователь nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k написал: > if ($http_user_agent ~* > spider|bot|crawl|megaindex|yahoo){ set $bot_key $server_name; } Здравствуйте! Тут весьма плохо использовать if:

Re: Ограничение количества запросов

2016-08-08 Пенетрантность nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k
Ясно, большое спасибо за ответы, теперь ситуация прояснилась. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268830,268843#msg-268843 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Ограничение количества запросов

2016-08-08 Пенетрантность Валентин Бартенев
On Monday 08 August 2016 07:48:35 nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k wrote: > Поправка: промежутков всё таки 6, но тем не менее. > Есть даже местами и по 8: > > 08/Aug/2016:14:17:53 +0300 200 site.com upstream_response_time=1.337 > 08/Aug/2016:14:17:53 +0300 200 site.com

Re: Ограничение количества запросов

2016-08-08 Пенетрантность Evgeniy Berdnikov
On Mon, Aug 08, 2016 at 07:27:14AM -0400, nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k wrote: > Указал размер очереди =5: > > limit_req zone=php_dos_bot burst=5; > > Теперь в логе одни сплошные "200 OK": > > 08/Aug/2016:14:19:32 +0300 200 site.com > 08/Aug/2016:14:19:32 +0300 200 site.com >

Re: Ограничение количества запросов

2016-08-08 Пенетрантность nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k
Поправка: промежутков всё таки 6, но тем не менее. Есть даже местами и по 8: 08/Aug/2016:14:17:53 +0300 200 site.com upstream_response_time=1.337 08/Aug/2016:14:17:53 +0300 200 site.com upstream_response_time=1.279 08/Aug/2016:14:17:53 +0300 200 site.com upstream_response_time=0.047

Re: Ограничение количества запросов

2016-08-08 Пенетрантность vitcool
приятно видеть самого себя в начале пути :) могу дать совет - начинайте дорабатывать бекенд. реально снять эту проблему можно только на стороне, путем определения по ip кто именно пришел (яндекс гугл или другой бот), там же можно выставить политику для других ботов, а так же поставить нормальную

Re: Ограничение количества запросов

2016-08-08 Пенетрантность vitcool
я использую код 429, его на самом деле многие понимают Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268830,268838#msg-268838 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Ограничение количества запросов

2016-08-08 Пенетрантность Илья Шипицин
в идеале, в вашем случае было бы круто добавить заголовок Retry-After в 503-й ответ (чтобы роботу было понятнее, через сколько повторить запрос), но, такого, насколько я знаю, limit не умеет. поэтому сигнализацию по интенсивности логично вынести в robots.txt, а вообще, роботы очень аккуратно

Re: Ограничение количества запросов

2016-08-08 Пенетрантность nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k
Спасибо за совет, но хотелось бы получить разъяснение именно по настройкам nginx. Смысл вопроса - разобраться с нюансами работы nginx по ограничению запросов. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,268830,268834#msg-268834 ___

Re: Ограничение количества запросов

2016-08-08 Пенетрантность Валентин Бартенев
On Monday 08 August 2016 06:21:14 nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k wrote: > Поисковые боты часто дёргают сайты, чем создают большую нагрузку. Была > предпринята попытка ограничить запросы к php-страницам. > Вот конфиг nginx: > > http { > .. > > limit_req_zone $bot_key

Re: Ограничение количества запросов

2016-08-08 Пенетрантность Илья Шипицин
попробуйте вот такое прописать в robots.txt User-agent: * Allow: / Crawl-delay: 5 Request-rate: 1/5 Visit-time: 1800-2359 8 августа 2016 г., 15:21 пользователь nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k < nginx-fo...@forum.nginx.org> написал: > Поисковые боты часто дёргают сайты, чем создают большую

Ограничение количества запросов

2016-08-08 Пенетрантность nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k
Поисковые боты часто дёргают сайты, чем создают большую нагрузку. Была предпринята попытка ограничить запросы к php-страницам. Вот конфиг nginx: http { .. limit_req_zone $bot_key zone=php_bot:100m rate=5r/s; log_format bot '$time_local $status $server_name ...'