Интересный случай произошел со мной на этой неделе. Проснувшись утром, я по привычке сел за компьютер и стал проверять свои сайты (сейчас я выращиваю парочку сателлитов). И к моему немалому удивлению, один из них оказался недоступен.
На ум сразу пришло множество неприятных вещей, которые могли послужить причиной недоступности сайта — упавший http или dns-сервер, умерший жесткий диск, поврежденная база данных и тп. Однако все оказалось куда проще. FTP-сервер исправно работал, а размер access.log свидетельствовал о том, что проблема явно не в Apache и не Bind. Просмотрев последние записи лога, я обнаружил, что к сайту идет неистовое число запросов с одного-единственного хоста — robot04.rambler.ru.
Хосту соответствовал IP 81.19.66.90. Вспомнив добрым словом программистов Рамблера за то, что их пауки не понимают Crawl-delay, я решил запретить роботу обращаться к сайту. Мой хостер не дает никакого доступа к настройкам фаервола, однако ограничить доступ к сайту можно и с помощью записи в .htaccess
Allow from all
# …
Deny from 81.19.66.
После этого сайт быстро поднялся. Я запретил доступ из всей подсети /24 на случай прихода robot05.rambler.ru и других пауков. В принципе, с тем же успехом можно ограничить доступ по User-agent:
Order Allow,Deny
Allow from all
# …
Deny from env=ddos
Но мало ли, как может изменится User-agent паука в будущем. К тому же, я слышал, что поисковики в целях борьбы с клоакингом иногда могут обращаться к сайту с User-agent, как у Firefox или Internet Explorer.
Погуглив немного, я нашел информацию о том, что сотрудники Rambler могут настроить паука так, чтобы он забирал страницы с сайта пореже, если написать им письмо. Пусть с Рамблера и не так много переходов, но лишние 3-4 посетителя еще никому не мешали, верно? Контактного e-mail на rambler.ru я не нашел, зато нашел форму обратной связи . Ниже приведена моя переписка с сотрудниками Рамблера:
День добрый.
У меня возникла проблема с вашим поисковым роботом. Страницы моих сайтов запрашиваются слишком часто, что приводит к их DDoS. В robots.txt прописан Crawl-delay, но насколько я знаю, ваша система его не понимает. До выяснения обстоятельств мне пришлось запретить обращение к моим сайтам из всей подсети 81.19.66.
Вот мои сайты:
[CUT]Если вы заинтересованы в их индексации, прошу настроить вашего поискового робота таким образом, чтобы страницы загружались не чаще одного раза в 30 секунд.
—
С уважением,
Алексеев Александр.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Подобные жалоба к нам поступают исключительно редко: роботы качают все ресурсы с одинаковой скоростью.На данный момент робот, к сожалению, не читает директиву Crawl-Delay, однако вы можете поставить задержку на ответ роботу со стороны вашего сервера.
—
С уважением,
Служба поддержки поиска
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Мне намного проще оставить все как есть — с рамблера не так уж много переходов.
Отсюда два вывода. Во-первых, перед выбором хостинга нелишним будет поискать отзывы, а еще лучше — спросить мнение о нем на каком-нибудь вебмастерском форуме. А во-вторых, разумеется в Рамблере всем плевать на наши, простых сайтостроителей, проблемы. А зачем — у них есть почтовый серис и новостной поротал. Деньги идут, так кому какое дело, что пауки DDoS-ят чужие сайты? Хотя по моим представлениям, не такое уж это затратное дело — просто добавить поддержку Crawl-delay.
Не хотите, чтобы в один прекрасный день ваш сайт оказался недоступным? Тогда действуйте описанным выше образом или хотя бы пропишите в robots.txt:
Disallow: /
Дополнение: См также первый пункт моего «пилотного» выпуска мини-заметок .