<div dir="ltr">попробуйте вот такое прописать в robots.txt<br><br>User-agent: *<br>Allow: /<br>Crawl-delay: 5<br>Request-rate: 1/5<br>Visit-time: 1800-2359<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">8 августа 2016 г., 15:21 пользователь nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k <span dir="ltr"><<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Поисковые боты часто дёргают сайты, чем создают большую нагрузку. Была<br>
предпринята попытка ограничить запросы к php-страницам.<br>
Вот конфиг nginx:<br>
<br>
http {<br>
        ......<br>
<br>
        limit_req_zone $bot_key zone=php_bot:100m rate=5r/s;<br>
<br>
        log_format bot '$time_local $status $server_name ...'<br>
<br>
        server {<br>
                ......<br>
<br>
                location ~* \.php$ {<br>
                        ......<br>
<br>
                        set $bot_key "";<br>
                        if ($http_user_agent ~* spider|bot|crawl|megaindex|<wbr>yahoo){ set $bot_key<br>
$server_name; }<br>
<br>
                        limit_req zone=php_bot;<br>
                        limit_req_status 503;<br>
                        limit_req_log_level notice;<br>
<br>
                        access_log /var/log/nginx/access-php-bot.<wbr>log            bot<br>
if=$bot_key;<br>
                }<br>
        }<br>
}<br>
<br>
Секций server { ... } несколько, они все идентичные.<br>
В итоге после полного перезапуска nginx в логе видим:<br>
<br>
08/Aug/2016:12:27:00 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.119<br>
08/Aug/2016:12:27:00 +0300 503 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a><br>
08/Aug/2016:12:27:00 +0300 503 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a><br>
08/Aug/2016:12:27:00 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.117<br>
08/Aug/2016:12:27:00 +0300 503 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a><br>
08/Aug/2016:12:27:00 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.116<br>
08/Aug/2016:12:27:00 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.022<br>
<br>
08/Aug/2016:12:27:01 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.129<br>
08/Aug/2016:12:27:01 +0300 503 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ...<br>
08/Aug/2016:12:27:01 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.074<br>
08/Aug/2016:12:27:01 +0300 503 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ...<br>
08/Aug/2016:12:27:01 +0300 200 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ... upstream_response_time=0.030<br>
08/Aug/2016:12:27:01 +0300 503 <a href="http://site.com" rel="noreferrer" target="_blank">site.com</a> ...<br>
<br>
За "01" секунду всего 3 успешно обработанных запроса, за предыдущую - 4,<br>
несмотря на то, что ограничение допускает обработку 5 запросов.<br>
Почему так, в чём ошибка ? Какая временная метка указывается в логе -<br>
момента прихода запроса или момента выдачи ответа ?<br>
Даже если временная метка - это момент выдачи ответа, то всё равно маловато<br>
выходит: за каждую из секунд не пропустилось максимально допустимое<br>
количество запросов.<br>
Как корректно проверять правильно ли работает конфигурация nginx, понял ли<br>
nginx то, что от него хотели ?<br>
<br>
Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?21,268830,268830#msg-268830" rel="noreferrer" target="_blank">https://forum.nginx.org/read.<wbr>php?21,268830,268830#msg-<wbr>268830</a><br>
<br>
______________________________<wbr>_________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-ru</a></blockquote></div><br></div>