Можно по ip (указать ip поисковиков)
#configuring whitelist testcookie_whitelist { 8.8.8.8/32; }
А можно по юзерагенту сделать условие (важно понимать, что юзерагент легко подделать.)
if ($http_user_agent ~ (юзер_агент_1|юзер_агент_2)) { testcookie off; }
Если не добавите поисковики в список исключений, то и ваш модуль им очень не понравится :)Если сильно мучают боты, начните с анализа, куда они долбят и как (GET/POST, только главная / странница поиска/ или ходят как люди). Сколько запросов в секунду.
А дальше можно банить используя менее радикальные меры которые не скажутся на поисковиках.
Если сами не можете, то приложите логи и то кто нибудь глянет и предложит решение.
В вашем примере - будет распространяться и и на статику.
Если нужно тормознуть только вызов апача, то для этого в секцию http пропишите только это:
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
А в секцию location / каждого виртуальго хоста добавить это:
location / { limit_req zone=one burst=15; ............................ }
И тогда это правило будет применяться только для динамики в указанных виртуальных хостах.
Но есть еще одно НО. Если используется другой домен/поддомен, то можно отдавать статику без загрузки кукисов браузером, тем самым уменьшая время загрузки статики.
Что именно менять? Ресурсные записи типа a,mx,cname? Если речь про них, то изменяется они быстро, а вот закешироваться они могут на долго:)
Если вы будите использовать NS регистратора и там пропишите А запись, то домен заработает, но не сразу, а после обновление DNS. Это справедливо и для Яндекса.
Да.
Виноват был не прав.
Но вот что интересно:
dig applestage.com ANY - в ответ тишина
dig @77.88.8.7 applestage.com ANY - в ответ ns1.marosnet.ru ns2.marosnet.ru
Скорее всего какие мелкие неприятности.
Но все равно А-запись на ns1.marosnet.ru отсутствует, а без нее сайт не откроется.
Хватит маяться дурью и послушайте совета Оптимизайки
А dig applestage.com NS говорит обратное.
Пропишите NS адреса. У вас их нет.
dig applestage.com any ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.3 <<>> applestage.com any ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 63242 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;applestage.com. IN ANY ;; Query time: 448 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed Jun 3 16:59:21 2015 ;; MSG SIZE rcvd: 32
Если надо именно подменить заголовок с кодом ответа и скрипт на php, то так:
header("HTTP/1.1 404 Not Found");
Но атакующий бот может игнорить код ответа и тупо перебирать пароль.
А вариант прикрутить дополнительную авторизацию на конкретный файл, используя htpasswd и htaccess?
Поглядите здесь, там в самом низу есть пример.